Skip to main content
Log in

Metalogical Frameworks II: Developing a Reflected Decision Procedure

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

Abstract

Proving theorems is a creative act demanding new combinations of ideas and on occasion new methods of argument. For this reason, theorem proving systems need to be extensible. The provers should also remain correct under extension, so there must be a secure mechanism for doing this. The tactic-style provers pioneered by Edinburgh LCF provide a very effective way to achieve secure extensions, but in such systems, all new methods must be reduced to tactics. This is a drawback because there are other useful proof generating tools such as decision procedures; these include, for example, algorithms which reduce a deduction problem, such as arithmetic provability, to a computation on graphs.

The Nuprl system pioneered the combination of fixed decision procedures with tactics, but the issue of securely adding new ones was not solved. In this paper we show how to safely include user- defined decision procedures in theorem provers. The idea is to prove properties of the procedure inside the prover's logic and then invoke a reflection rule to connect the procedure to the system. We also show that using a rich underlying logic permits an abstract account of the approach so that the results carry over to different implementations and other logics.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Aagaard, M. and Leeser, M.: Verifying a logic synthesis tool in Nuprl, in Gregor Bochmann and David Probst (eds), Proceedings of the 4th International Workshop on Computer-Aided Verification, Springer-Verlag, June 1992, pp. 69-81.

  2. Aitken, W.: A formal introduction to the lambda calculus, Computer Science Dept., Cornell University, 1993.

  3. Aitken, W. and Constable, R. L.: Reflecting on Nuprl Lessons 1-4, Technical Report, Cornell University, Computer Science Dept., 1992. Internal report.

  4. Allen, S., Constable, R., Howe, D. and Aitken, W.: The semantics of reflected proof, in Proc. of Fifth Symp. on Logic in Comp. Sci., IEEE, June 1990, pp. 95-197.

  5. Bledsoe, W. W.: A new method for proving certain Presburger formulas, Fourth Intl. Joint Conf. on A.I. Tbilisi, USSR, September 1975.

  6. Chan, T.: An algorithm for checking PL/CV arithmetic inferences, in G. Goos and J. Hartmanis (eds), An Introduction to the PL/CV Programming Logic, Lecture Notes in Computer Science 135, Springer-Verlag, 1982, pp. 227-264.

  7. Church, A.: Introduction to Mathematical Logic, Vol. I, Princeton University Press, 1956.

  8. Constable, R. L. et al.: Implementing Mathematics with the Nuprl Development System, Prentice-Hall, Englewood Cliffs, NJ, 1986.

    Google Scholar 

  9. Coquand, T. and Huet, G.: The calculus of constructions, Information and Computation 76 (1988), 95-120.

    Google Scholar 

  10. Curry, H. B.: Foundations of Mathematical Logic, Dover, 1977.

  11. Fitting, M.: Intuitionistic Logic, Model Theory, and Forcing, North-Holland, Amsterdam, 1969.

    Google Scholar 

  12. Fitting, M.: First-Order Logic and Automated Theorem Proving, Springer-Verlag, 1990.

  13. Gentzen, G.: Investigations into logical deduction (1934), in M. Szalo (ed.), The Collected Papers of Gerhard Gentzen, North-Holland, Amsterdam, 1969.

    Google Scholar 

  14. Gordon, M.: HOL: A machine oriented formalization of higher order logic, Technical Report 68, Cambridge University, 1985.

  15. Gordon, M., Milner, R. and Wadsworth, C.: Edinburgh LCF: A Mechanized Logic of Computation, Lecture Notes in Computer Science 78, Springer-Verlag, New York, 1979.

    Google Scholar 

  16. Hickey, J.: Nuprl-light: An implementation framework for higher-order logics, in W. McCune (ed.), Automated Deduction - CADE-14, Lecture Notes in Artificial Intelligence 1249, Springer-Verlag, 1997, pp. 395-399.

  17. Jackson, P. B.: Enhancing the Nuprl Proof Development System and Applying it to Computational Abstract Algebra, Ph.D. thesis, Cornell University, 1994.

  18. Jenks, R. D. and Sutor, R. S.: Axiom: The Scientific Computation System, Springer-Verlag, New York, 1992.

    Google Scholar 

  19. Kozen, D.: Complexity of Finitely Presented Algebras, Ph.D. thesis, Computer Science Department, Cornell University, Ithaca, New York, 1977.

    Google Scholar 

  20. Kozen, D., Ben-Or, M. and Reif, J.: The complexity of elementary algebra and geometry, in Proc. 16th ACM Symp. Theory of Comput., 1984, pp. 457-464. Invited special issue J. Comput. Syst. Sci. 32(2) (1985), 251-264.

  21. Luo, Z.: Program specification and data refinement in type theory, in Proc. Fourth International Joint Conference on the Theory and Practice of Software Development (TAPSOFT), 1991.

  22. Maharaj, S. and Gunter, E.: Studying the ML module system in HOL, in T. F. Melham and J. Camilleri (eds), Higher Order Logic Theorem Proving and Its Applications, Lecture Notes in Computer Science 859, Springer-Verlag, 1994, pp. 346-361.

  23. Martin-Löf, P.: Constructive mathematics and computer programming, in Sixth International Congress for Logic, Methodology, and Philosophy of Science, North-Holland, Amsterdam, 1982, pp. 153-175.

    Google Scholar 

  24. McAllester, D. A.: ONTIC: A Knowledge Representation System for Mathematics, MIT Press, Cambridge, Mass., 1989.

    Google Scholar 

  25. Milner, R.: Elements of interaction, Comm. Assoc. Comput. Mach. 36(1) (1993), 78-89.

    Google Scholar 

  26. Owre, S., Rushby, J. M. and Shankar, N.: Pvs: A prototype verification system, in Deepak Kapur (ed.), 11th International Conference on Automated Deduction (CADE), Saratoga, NY, 1992, Lecture Notes in Artificial Intelligence 607, Springer-Verlag, 1992, pp. 748-752.

  27. Paulson, L. C.: A formulation of the simple theory of types (for Isabelle), in P. Martin-Löf and G. Mints (eds), Proc. Int. Conference on Computer Logic, Lecture Notes in Computer Science 417, Springer-Verlag, New York, 1988, pp. 246-274.

    Google Scholar 

  28. Pollack, R.: On extensibility of proof checkers, in Dybjer, Nordstrom, and Smith (eds), Types for Proofs and Programs: International Workshop TYPES'94, Bå stad, June 1994, Selected Papers, Lecture Notes in Computer Science 996, Springer-Verlag, 1995.

  29. Rushby, J., von Henke, F. and Owre, S.: An introduction to formal specification and verification using EHDM, Technical Report CSL-91-2, Computer Science Laboratory, SRI International, February 1991.

  30. Shostak, R. E.: A practical decision procedure for arithmetic with function symbols, J. Assoc. Comput. Mach. 26 (1979), 351-360.

    Google Scholar 

  31. Shostak, R. E.: On the SUP-INF method for proving Presburger formulas, JACM 24(4) (1977), 529-543.

    Google Scholar 

  32. Underwood, J.: A constructive completeness proof for the intuitionistic propositional calculus, Technical Report 90-1179, Cornell University, 1990.

  33. Underwood, J.: Typing abstract data types, in Egidio Astesiano, Gianna Reggio, and Andrzej Tarlecki (eds), Recent Trends in Data Type Specification, Lecture Notes in Computer Science 906, Springer-Verlag, 1994, pp. 437-452.

  34. Van Inwegen, M. and Gunter, E. L.: HOL-ML, in J. Joyce and C. Seger (eds), Higher Order Logic Theorem Proving and Its Applications, Lecture Notes in Computer Science 780, Springer-Verlag, 1994, pp. 61-73.

  35. Wallen, L. A.: Automated Deduction in Non-Classical Logics, MIT Press, 1990.

  36. Wolfram, S.: Mathematica: A System for Doing Mathematics by Computer, Addison-Wesley, 1988.

  37. Zippel, R.: The Weyl computer algebra substrate, Technical Report TR 90-1077, Computer Science Dept., Cornell University, Ithaca, NY, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Aitken, W.E., Constable, R.L. & Underwood, J.L. Metalogical Frameworks II: Developing a Reflected Decision Procedure. Journal of Automated Reasoning 22, 171–221 (1999). https://doi.org/10.1023/A:1005929703675

Download citation

  • Issue Date:

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

Navigation