Reusing Proofs

1 We develop a learning component for a theorem prover designed for verifying statements by mathematical induction. If the prover has found a proof, it is analyzed yielding a so-called catch. The catch provides the features of the proof which are relevant for reusing it in subsequent verification tasks and may also suggest useful lemmata. Proof analysis techniques for computing the catch are presented. A catch is generalized in a certain sense for increasing the reusability of proofs. We discuss problems arising when learning from proofs and illustrate our method by several examples.

[1]  Bishop Brock,et al.  Analogical Reasoning and Proof Discovery , 1988, CADE.

[2]  Thomas Ellman,et al.  Explanation-based learning: a survey of programs and perspectives , 1989, CSUR.

[3]  Christoph Walther,et al.  Mathematical induction , 1994, Handbook of Logic in Artificial Intelligence and Logic Programming.

[4]  Rogers P. Hall,et al.  Computational Approaches to Analogical Reasoning: A Comparative Analysis , 1989, Artif. Intell..

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

[6]  Stephen Owen,et al.  Analogy for automated reasoning , 1990, Perspectives in artificial intelligence.

[7]  Dieter Hutter,et al.  Guiding Induction Proofs , 1990, CADE.

[8]  David A. Plaisted,et al.  Theorem Proving with Abstraction , 1981, Artif. Intell..