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.
Similar content being viewed by others
References
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.
Aitken, W.: A formal introduction to the lambda calculus, Computer Science Dept., Cornell University, 1993.
Aitken, W. and Constable, R. L.: Reflecting on Nuprl Lessons 1-4, Technical Report, Cornell University, Computer Science Dept., 1992. Internal report.
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.
Bledsoe, W. W.: A new method for proving certain Presburger formulas, Fourth Intl. Joint Conf. on A.I. Tbilisi, USSR, September 1975.
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.
Church, A.: Introduction to Mathematical Logic, Vol. I, Princeton University Press, 1956.
Constable, R. L. et al.: Implementing Mathematics with the Nuprl Development System, Prentice-Hall, Englewood Cliffs, NJ, 1986.
Coquand, T. and Huet, G.: The calculus of constructions, Information and Computation 76 (1988), 95-120.
Curry, H. B.: Foundations of Mathematical Logic, Dover, 1977.
Fitting, M.: Intuitionistic Logic, Model Theory, and Forcing, North-Holland, Amsterdam, 1969.
Fitting, M.: First-Order Logic and Automated Theorem Proving, Springer-Verlag, 1990.
Gentzen, G.: Investigations into logical deduction (1934), in M. Szalo (ed.), The Collected Papers of Gerhard Gentzen, North-Holland, Amsterdam, 1969.
Gordon, M.: HOL: A machine oriented formalization of higher order logic, Technical Report 68, Cambridge University, 1985.
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.
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.
Jackson, P. B.: Enhancing the Nuprl Proof Development System and Applying it to Computational Abstract Algebra, Ph.D. thesis, Cornell University, 1994.
Jenks, R. D. and Sutor, R. S.: Axiom: The Scientific Computation System, Springer-Verlag, New York, 1992.
Kozen, D.: Complexity of Finitely Presented Algebras, Ph.D. thesis, Computer Science Department, Cornell University, Ithaca, New York, 1977.
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.
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.
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.
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.
McAllester, D. A.: ONTIC: A Knowledge Representation System for Mathematics, MIT Press, Cambridge, Mass., 1989.
Milner, R.: Elements of interaction, Comm. Assoc. Comput. Mach. 36(1) (1993), 78-89.
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.
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.
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.
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.
Shostak, R. E.: A practical decision procedure for arithmetic with function symbols, J. Assoc. Comput. Mach. 26 (1979), 351-360.
Shostak, R. E.: On the SUP-INF method for proving Presburger formulas, JACM 24(4) (1977), 529-543.
Underwood, J.: A constructive completeness proof for the intuitionistic propositional calculus, Technical Report 90-1179, Cornell University, 1990.
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.
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.
Wallen, L. A.: Automated Deduction in Non-Classical Logics, MIT Press, 1990.
Wolfram, S.: Mathematica: A System for Doing Mathematics by Computer, Addison-Wesley, 1988.
Zippel, R.: The Weyl computer algebra substrate, Technical Report TR 90-1077, Computer Science Dept., Cornell University, Ithaca, NY, 1990.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1005929703675