Structured Theory Development for a Mechanized Logic

Experience has shown that large or multi-user interactive proof efforts can benefit significantly from structuring mechanisms, much like those available in many modern programming languages. Such a mechanism can allow some lemmas and definitions to be exported, and others not. In this paper we address two such structuring mechanisms for the ACL2 theorem prover: encapsulation and books. After presenting an introduction to ACL2, this paper justifies the implementation of ACL2's structuring mechanisms and, more generally, formulates and proves high-level correctness properties of ACL2. The issues in the present paper are relevant not only for ACL2 but also for other theorem-proving environments.

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

[2]  J. Strother Moore,et al.  A Mechanically Checked Proof of the AMD5K86TM Floating Point Division Program , 1998, IEEE Trans. Computers.

[3]  Robert S. Boyer,et al.  The Boyer-Moore theorem prover and its interactive enhancement , 1995 .

[4]  Matt Kaufmann,et al.  Non-Standard Analysis in ACL2 , 2001 .

[5]  Robert S. Boyer,et al.  Automated proofs of object code for a widely used microprocessor , 1996, JACM.

[6]  Matt Kaufmann,et al.  A Mechanically Checked Proof of the , 1998 .

[7]  David M. Russinoff A Mechanically Checked Proof of Correctness of the AMD K5 Floating Point Square Root Microcode , 1999, Formal Methods Syst. Des..

[8]  J. Strother Moore,et al.  An Industrial Strength Theorem Prover for a Logic Based on Common Lisp , 1997, IEEE Trans. Software Eng..

[9]  Bishop Brock,et al.  A Mechanically Checked Proof of a Comparator Sort Algorithm , 2005 .

[10]  Matt Kaufmann,et al.  ACL2 Support for Verification Projects (Invited Talk) , 1998, CADE.

[11]  Joseph R. Shoenfield,et al.  Mathematical logic , 1967 .

[12]  James H. Schmerl,et al.  A Reflection Principle and its Applications to Nonstandard Models , 1995, J. Symb. Log..

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

[14]  Robert S. Boyer,et al.  A computational logic handbook, Second Edition , 1998, Academic Press international series in formal methods.

[15]  David M. Russinoff A Mechanically Checked Proof of IEEE Compliance of the Floating Point Multiplication, Division and Square Root Algorithms of the AMD-K7™ Processor , 1998, LMS J. Comput. Math..

[16]  Bishop Brock,et al.  ACL2 Theorems About Commercial Microprocessors , 1996, FMCAD.

[17]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[18]  J. S. Moore,et al.  A Precise Description of the ACL2 Logic , 1998 .

[19]  Robert S. Boyer,et al.  Functional Instantiation in First-Order Logic , 1991, Artificial and Mathematical Theory of Computation.

[20]  Jr. Guy L. Steele,et al.  Common LISP: the language (2nd ed.) , 1990 .