Skip to main content
Log in

Structured Theory Development for a Mechanized Logic

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Boyer, R. S. and Moore, J S.: A Computational Logic, Academic Press, New York, 1979.

    Google Scholar 

  2. Boyer, R. S., Goldschlag, D., Kaufmann, M. and Moore, J S.: Functional instantiation in first order logic, in Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, Academic Press, 1991, pp. 7–26.

  3. Boyer, R. S., Kaufmann, M. and Moore, J S.: The Boyer-Moore theorem prover and its interactive enhancement, Comput. Math. Appl. 5(2) (1995), 27–62.

    Google Scholar 

  4. Brock, B., Kaufmann, M. and Moore, J S.: ACL2 theorems about commercial microprocessors, in M. Srivas and A. Camilleri (eds.), Proceedings of Formal Methods in Computer-Aided Design (FMCAD'96), Springer-Verlag, November 1996, pp. 275–293.

  5. Boyer, R. S. and Moore, J S.: A Computational Logic Handbook, 2nd edn, Academic Press, London, 1997.

    Google Scholar 

  6. Brock, B. and Moore, J S.: A mechanically checked proof of a comparator sort algorithm, URL http://www.cs.utexas.edu/users/moore/publications/csort/main.ps.Z (submitted for publication), 1999.

  7. Gamboa, R. and Kaufmann, M.: Non-standard analysis in ACL2, in preparation. See also R. Gamboa's Ph.D. dissertation at URL http://www.lim.com/~ruben/research/thesis/ web/index.html.

  8. Greve, D. A., Hardin, D. S. and Wilding, M. M.: Efficient simulation using a simple formal processor model, Technical Report, Advanced Technology Center, Rockwell Collins Avionics and Communications, Cedar Rapids, IA 52498, April, 1998.

  9. Kaufmann, M. and Moore, J S.: ACL2: A Computational Logic for Applicative Common Lisp, the user's manual, URL: http://www.cs.utexas.edu/users/moore/acl2.

  10. Kaufmann, M. and Moore, J S.: High-level correctness of ACL2: A story, URL http://www.-cs.utexas.edu/users/moore/publications/story.txt, October, 1995.

  11. Kaufmann, M., Manolios, P. and Moore, J S.: Computer-Aided Reasoning: An Approach, Kluwer Academic Publishers, 2000.

  12. Kaufmann, M., Manolios, P. and Moore, J S. (eds.): Computer-Aided Reasoning: ACL2 Case Studies, Kluwer Academic Publishers, 2000.

  13. Kaufmann, M. and Moore, J S.: A precise description of the ACL2 logic, URL http://www.-cs.utexas.edu/users/moore/acl2/reports/km97a.ps.Z.

  14. Kaufmann, M. and Moore, J: An industrial strength theorem prover for a logic based on Common Lisp, in IEEE Transactions on Software Engineering 23(4), April 1997, pp. 203–213.

  15. Kaufmann, M.: ACL2 support for verification projects, in C. Kirchner and H. Kirchner (eds.), Proceedings 15th Int'l Conf. Automated Deduction, Lecture Notes in Artif. Intell. 1421, Springer-Verlag, July 1998, pp. 220–238.

  16. Moore, J, Lynch, T. and Kaufmann, M.: A mechanically checked proof of the AMD5K86 floating-point division program, IEEE Trans. Comput. 47(9) (1998), 913–926. See also URL http://devil.ece.utexas.edu/~lynch/divide/divide.html.

    Google Scholar 

  17. Russinoff, D.: A mechanically checked proof of correctness of the AMD5K86 floating-point square root microcode, in Formal Methods in System Design. Special Issue on Arithmetic Circuits, 1997.

  18. Russinoff, D. M.: A mechanically checked proof of IEEE compliance of the floating point multiplication, division, and square root algorithms of the AMD-K7TM processor, LMS J. Comput. and Math. 1 (1998), 148–200. See also URL http://www.onr.com/user/russ/-david/k7-div-sqrt.html.

    Google Scholar 

  19. Schmerl, J.: A reflection principle and its applications to nonstandard models, J. Symbolic Logic 60 (1995), 1137–1152.

    Google Scholar 

  20. Shoenfield, J. R.: Mathematical Logic, Addison-Wesley, Reading, MA, 1967.

    Google Scholar 

  21. Steele, G. L., Jr.: Common Lisp: The Language, 2nd edn, Digital Press, Burlington, MA, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kaufmann, M., Moore, J.S. Structured Theory Development for a Mechanized Logic. Journal of Automated Reasoning 26, 161–203 (2001). https://doi.org/10.1023/A:1026517200045

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1026517200045

Navigation