Abstract
We contrast theorem provers and computer algebra systems, pointing out the advantages and disadvantages of each, and suggest a simple way to achieve a synthesis of some of the best features of both. Our method is based on the systematic separation of search for a solution and checking the solution, using a physical connection between systems. We describe the separation of proof search and checking in some detail, relating it to proof planning and to the complexity class NP, and discuss different ways of exploiting a physical link between systems. Finally, the method is illustrated by some concrete examples of computer algebra results proved formally in the HOL theorem prover with the aid of Maple.
Similar content being viewed by others
References
Almkvist, G. and Zeilberger, D.: The method of differentiating under the integral sign, J. Symbolic Comput. 10 (1990), 571–591.
Archer, M., Fink, G., and Yang, L.: Linking other theorem provers to HOL using PM: Proof manager, in Claesen and Gordon [11], pp. 539–548.
Ballarin, C., Homann, K., and Calmet, J.: Theorems and algorithms: An interface between Isabelle and Maple, in A. H. M. Levelt (ed.), International Symposium on Symbolic and Algebraic Computation, ISSAC'95, Montreal, Association for Computing Machinery, 1995, pp. 150–157.
Beeson, M.: Mathpert: Computer support for learning algebra, trig, and calculus, in A. Voronkov (ed.), Logic Programming and Automated Reasoning: International Conference, LPAR' 92, St. Petersburg, Russia, Lecture Notes in Comput. Sci. 624, 1992, pp. 454–456.
Blum, M.: Program result checking: A new approach to making programs more reliable, in A. Lingas, R. Karlsson, and S. Carlsson (eds), Automata, Languages and Programming, 20th International Colloquium, ICALP93, Proceedings, Lund, Sweden, Lecture Notes in Comput. Sci. 700, 1993, pp. 1–14.
Boulton, R.: A lazy approach to fully-expansive theorem proving, in Claesen and Gordon [11], pp. 19–38.
Boulton, R. J.: Efficiency in a fully-expansive theorem prover, Technical Report 337, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge, CB2 3QG, UK, 1993. Author's Ph.D. thesis.
Bundy, A., van Harmelen, F., Hesketh, J., and Smaill, A.: Experiments with proof plans for induction, J. Automated Reasoning 7 (1991), 303–323.
Calmet, J. and Homann, K.: Classification of communication and cooperation mechanisms for logical and symbolic computation systems, in F. Baader and K. U. Schulz (eds), Proceedings of the First International Workshop ‘Frontiers of Combining Systems’ (FroCoS'96), Munich, Kluwer Series on Applied Logic, Kluwer Acad. Publ., 1996, pp. 133–146.
Church, A.: A formulation of the simple theory of types, J. Symbolic Logic 5 (1940), 56–68.
Claesen, L. J. M. and Gordon, M. J. C. (eds): Proceedings of the IFIP TC10/WG10.2 International Workshop on Higher Order Logic Theorem Proving and Its Applications, IFIP Transactions A: Computer Science and Technology, Vol. A-20, IMEC, Leuven, Belgium, North-Holland, 1992.
Clarke, E. and Zhao, X.: Analytica – a theorem prover for Mathematica, Technical Report, School of Computer Science, Carnegie Mellon University, 1991.
Clément, D., Montagnac, F., and Prunet, V.: Integrated software components: A paradigm for control integration, in A. Endres and H. Weber (eds), Software Development Environments and CASE Technology: European Symposium, Königwinter, 1991, Lecture Notes in Comput. Sci. 509, Springer-Verlag, 1991, pp. 167–177.
Corless, R. M. and Jeffrey, D. J.: Well... it isn't quite that simple, SIGSAM Bulletin 26(3) (1992), 2–6.
Elbers, H.: Construction of short formal proofs of primality, Preprint, 1996.
Farmer, W. M., Guttman, J. D., and Thayer, F., Reasoning with contexts, in A. Miola (ed.), Design and Implementation of Symbolic Computation Systems: International Symposium, DISCO' 93, Gmunden, Austria, Lecture Notes in Comput. Sci. 722, Springer-Verlag, 1993, pp. 216–228.
Freyd, P. J. and Scedrov, A.: Categories, Allegories, North-Holland, 1990.
Gordon, M. J. C.: Representing a logic in the LCF metalanguage, in D. Néel (ed.), Tools and Notions for Program Construction: An Advanced Course, Cambridge University Press, 1982, pp. 163–185.
Gordon, M. J. C. and Melham, T. F.: Introduction to HOL: A Theorem Proving Environment for Higher Order Logic, Cambridge University Press, 1993.
Gordon, M. J. C., Milner, R., and Wadsworth, C. P.: Edinburgh LCF: A Mechanised Logic of Computation, Lecture Notes in Comput. Sci. 78, Springer-Verlag, 1979.
Harrison, J.: Constructing the real numbers in HOL, Formal Methods in System Design 5 (1994), 35–59.
Harrison, J.: Metatheory and reflection in theorem proving: A survey and critique, Technical Report CRC-053, SRI Cambridge, Millers Yard, Cambridge, UK, 1995. On Web: http://www.cl.cam.ac.uk/users/jrh/papers/reflect.dvi.gz.
Harrison, J.: Floating point verification in HOL Light: The exponential function, Technical Report 428, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge, CB2 3QG, UK, 1997.
Henstock, R.: A Riemann-type integral of Lebesgue power, Canad. J. Math. 20 (1968), 79–87.
Jenks, R. D. and Sutor, R. S.: AXIOM: The Scientific Computation System, Springer-Verlag, 1992.
Kajler, N.: CAS/Pi: A portable and extensible interface for computer algebra systems, in P. S. Wang (ed.), International Symposium on Symbolic and Algebraic Computation, ISSAC'92, Association for Computing Machinery, 1992, pp. 376–386.
Kumar, R., Kropf, T., and Schneider, K.: Integrating a first-order automatic prover in the HOL environment, in M. Archer, J. J. Joyce, K. N. Levitt, and P. J. Windley (eds), Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and Its Applications, University of California at Davis, Davis, CA, 1991, IEEE Computer Society Press, 1991, pp. 170–176.
Kurzweil, J.: Generalized ordinary differential equations and continuous dependence on a parameter, Czechoslovak Math. J. 82 (1958), 418–446.
Mehlhorn, K. et al.: Checking geometric programs or verification of geometric structures, in Proceedings of the 12th Annual Symposium on Computational Geometry (FCRC'96), Philadelphia, Association for Computing Machinery, 1996, pp. 159–165.
Paulson, L. C.: Isabelle: A Generic Theorem Prover, Lecture Notes in Comput. Sci. 828, Springer-Verlag, 1994. With contributions by Tobias Nipkow.
Pomerance, C.: Very short primality proofs, Math. Comp. 48 (1987), 315–322.
Pratt, V.: Every prime has a succinct certificate, SIAM J. Comput. 4 (1975), 214–220.
Seger, C. and Joyce, J. J.: A two-level formal verification methodology using HOL and COSMOS, Technical Report 91-10, Department of Computer Science, University of British Columbia, 2366 Main Mall, University of British Columbia, Vancouver, B.C., Canada V6T 1Z4, 1991.
Slind, K.: An implementation of higher order logic, Technical Report 91-419-03, University of Calgary Computer Science Department, 2500 University Drive N. W., Calgary, Alberta, Canada, TN2 1N4, 1991.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Harrison, J., Théry, L. A Skeptic's Approach to Combining HOL and Maple. Journal of Automated Reasoning 21, 279–294 (1998). https://doi.org/10.1023/A:1006023127567
Issue Date:
DOI: https://doi.org/10.1023/A:1006023127567