A verified Common Lisp implementation of Buchberger's algorithm in ACL2

In this article, we present the formal verification of a Common Lisp implementation of Buchberger's algorithm for computing Grobner bases of polynomial ideals. This work is carried out in ACL2, a system which provides an integrated environment where programming (in a pure functional subset of Common Lisp) and formal verification of programs, with the assistance of a theorem prover, are possible. Our implementation is written in a real programming language and it is directly executable within the ACL2 system or any compliant Common Lisp system. We provide here snippets of real verified code, discuss the formalization details in depth, and present quantitative data about the proof effort.

[1]  Víctor M. Gulías,et al.  Certifying properties of an efficient functional program for computing Gröbner bases , 2009, J. Symb. Comput..

[2]  Henrik Persson,et al.  An Integrated Development of Buchberger's Algorithm in Coq , 2001 .

[3]  Francisco-Jesús Martín-Mateos,et al.  Formal Proofs About Rewriting Using ACL2 , 2002, Annals of Mathematics and Artificial Intelligence.

[4]  Matt Kaufmann,et al.  Structured Theory Development for a Mechanized Logic , 2001, Journal of Automated Reasoning.

[5]  Thierry Coquand,et al.  Gröbner Bases in Type Theory , 1998, TYPES.

[6]  F. Palomo-Lozano,et al.  Implementation in Acl2 of Well-Founded Polynomial Orderings , 2002 .

[7]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[8]  B. Buchberger Towards the Automated Synthesis of a Grobner Bases Algorithm. , 2004 .

[9]  Panagiotis Manolios,et al.  Computer-aided reasoning : ACL2 case studies , 2000 .

[10]  Bruno Buchberger,et al.  Algorithm Synthesis by Lazy Thinking: Using Problem Schemes , 2004 .

[11]  Patrick Brézillon,et al.  Lecture Notes in Artificial Intelligence , 1999 .

[12]  Keith O. Geddes,et al.  Algorithms for computer algebra , 1992 .

[13]  José-Luis Ruiz-Reina,et al.  Efficient execution in an automated reasoning environment , 2008, J. Funct. Program..

[14]  Christoph Schwarzweller,et al.  Gröbner Bases - Theory Refinement in the Mizar System , 2005, MKM.

[15]  Francisco-Jesús Martín-Mateos,et al.  A Formal Proof of Dickson's Lemma in ACL2 , 2003, LPAR.

[16]  Panagiotis Manolios,et al.  Computer-Aided Reasoning: An Approach , 2011 .

[17]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[18]  Laurent Théry,et al.  A Machine-Checked Implementation of Buchberger's Algorithm , 2001, Journal of Automated Reasoning.

[19]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

[20]  Bruno Buchberger,et al.  Bruno Buchberger's PhD thesis 1965: An algorithm for finding the basis elements of the residue class ring of a zero dimensional polynomial ideal , 2006, J. Symb. Comput..

[21]  Piotr Rudnicki,et al.  Commutative Algebra in the Mizar System , 2001, J. Symb. Comput..

[22]  Koji Nakagawa,et al.  Theorema: Towards computer-aided mathematical theory exploration , 2006, J. Appl. Log..

[23]  B. Buchberger Ein algorithmisches Kriterium für die Lösbarkeit eines algebraischen Gleichungssystems , 1970 .