Integrating Computer Algebra into Proof Planning

Mechanized reasoning systems and computer algebra systems have different objectives. Their integration is highly desirable, since formal proofs often involve both of the two different tasks proving and calculating. Even more important, proof and computation are often interwoven and not easily separable.In this article we advocate an integration of computer algebra into mechanized reasoning systems at the proof plan level. This approach allows us to view the computer algebra algorithms as methods, that is, declarative representations of the problem-solving knowledge specific to a certain mathematical domain. Automation can be achieved in many cases by searching for a hierarchic proof plan at the method level by using suitable domain-specific control knowledge about the mathematical algorithms. In other words, the uniform framework of proof planning allows us to solve a large class of problems that are not automatically solvable by separate systems.Our approach also gives an answer to the correctness problems inherent in such an integration. We advocate an approach where the computer algebra system produces high-level protocol information that can be processed by an interface to derive proof plans. Such a proof plan in turn can be expanded to proofs at different levels of abstraction, so the approach is well suited for producing a high-level verbalized explication as well as for a low-level, machine-checkable, calculus-level proof.We present an implementation of our ideas and exemplify them using an automatically solved example.Changes in the criterion of ‘rigor of the proof' engender major revolutions in mathematics. H. Poincaré, 1905

[1]  Robert A. Kowalski,et al.  Algorithm = logic + control , 1979, CACM.

[2]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[3]  S. Chou Mechanical Geometry Theorem Proving , 1987 .

[4]  Deepak Kapur,et al.  A Refutational Approach to Geometry Theorem Proving , 1988, Artif. Intell..

[5]  John Harrison,et al.  Reasoning About the Reals: The Marriage of HOL and Maple , 1993, LPAR.

[6]  John Harrison,et al.  Extending the HOL Theorem Prover with a Computer Algebra System to Reason about the Reals , 1993, HUG.

[7]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[8]  Jacques Calmet,et al.  An Open Environment for Doing Mathematics , 1995 .

[9]  Frank van Harmelen,et al.  Rippling: A Heuristic for Guiding Inductive Proofs , 1993, Artif. Intell..

[10]  Jing-Zhong Zhang,et al.  World Scientific , 2007 .

[11]  Stephen Wolfram,et al.  The Mathematica Book , 1996 .

[12]  William McCune,et al.  OTTER 3.0 Reference Manual and Guide , 1994 .

[13]  A. Endres,et al.  Proceedings of the European symposium on Software development environments and CASE technology , 1991 .

[14]  Richard Zippel,et al.  Effective polynomial computation , 1993, The Kluwer international series in engineering and computer science.

[15]  Alan Bundy,et al.  The Use of Explicit Plans to Guide Inductive Proofs , 1988, CADE.

[16]  Fausto Giunchiglia,et al.  Reasoning Theories: Towards an Architecture for Open Mechanized Reasoning Systems , 1994, FroCoS.

[17]  Xiaorong Huang,et al.  Presenting Machine-Found Proofs , 1996, CADE.

[18]  Alan Bundy,et al.  -mkrp: a Proof Development Environment , 1994 .

[19]  Jacques Calmet,et al.  Theorems and algorithms: an interface between Isabelle and Maple , 1995, ISSAC '95.

[20]  Bruce W. Char,et al.  First Leaves: A Tutorial Introduction to Maple V , 1992 .

[21]  Michael Kohlhase,et al.  Adapting Methods to Novel Tasks in Proof Planning , 1994, KI.

[22]  Karsten Morisse,et al.  MuPAD User’s Manual , 1996 .

[23]  Richard D. Jenks,et al.  AXIOM: the scientific computation system , 1992 .

[24]  Volker Sorge,et al.  ΩMEGA : Towards a mathematical assistant , 1997 .

[25]  Volker Sorge,et al.  Omega: Towards a Mathematical Assistant , 1997, CADE.

[26]  Francis Jeffry Pelletier The Philosophy of Automated Theorem Proving , 1991, IJCAI.

[27]  Stephen Wolfram,et al.  Mathematica: a system for doing mathematics by computer (2nd ed.) , 1991 .

[28]  Wenjun Wu,et al.  Mechanical Theorem Proving in Geometries , 1994, Texts and Monographs in Symbolic Computation.

[29]  Wen-tsün Wu Mechanical Theorem Proving in Geometries: Basic Principles , 1994 .

[30]  Peter B. Andrews Transforming Matings into Natural Deduction Proofs , 1980, CADE.

[31]  Frank van Harmelen,et al.  The Oyster-Clam System , 1990, CADE.

[32]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

[33]  Dominique Clément,et al.  Integrated Software Components: A Paradigm for Control Integration , 1991, Software Development Environments and CASE Technology.

[34]  Anatolij A. Karatsuba,et al.  Multiplication of Multidigit Numbers on Automata , 1963 .

[35]  Andreas Strotmann,et al.  Objectives of Openmath , 1995 .

[36]  Jörg H. Siekmann,et al.  Omega-MKRP: A Proof Development Environment , 1994, CADE.

[37]  Douglas J. Howe Computational Metatheory in Nuprl , 1988, CADE.

[38]  Jacques D. Fleuriot Geometry Theorem Proving , 2001 .

[39]  Edmund M. Clarke,et al.  Analytica - A Theorem Prover in Mathematica , 1992, CADE.