Rippling: A Heuristic for Guiding Inductive Proofs

Abstract We describe rippling: a tactic for the heuristic control of the key part of proofs by mathematical induction. This tactic significantly reduces the search for a proof of a wide variety of inductive theorems. We first present a basic version of rippling, followed by various extensions which are necessary to capture larger classes of inductive proofs. Finally, we present a generalised form of rippling which embodies these extensions as special cases. We prove that generalised rippling always terminates, and we discuss the implementation of the tactic and its relation with other inductive proof search heuristics.

[1]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

[2]  Hiroshi Fujita,et al.  Formulation of Induction Formulas in Verification of Prolog Programs , 1986, CADE.

[3]  Frank van Harmelen,et al.  A Rational Reconstruction and Extension of Recursion Analysis , 1989, IJCAI.

[4]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

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

[6]  Toby Walsh,et al.  The Use of Proof Plans to Sum Series , 1992, CADE.

[7]  Frank van Harmelen,et al.  Extensions to the Rippling-Out Tactic for Guiding Inductive Proofs , 1990, CADE.

[8]  Alan Bundy,et al.  Using Meta-Level Inference for Selective Application of Multiple Rewrite Rule Sets in Algebraic Manipulation , 1980, Artif. Intell..

[9]  Donald W. Loveland,et al.  6th Conference on Automated Deduction , 1982, Lecture Notes in Computer Science.

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

[11]  A. Bundy,et al.  Turning eureka steps into calculations in automatic program synthesis , 1990 .

[12]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

[13]  Jane Thurmann Hesketh,et al.  Using middle-out reasoning to guide inductive theorem proving , 1992 .

[14]  Alan Bundy,et al.  Using Meta-Level Inference for Selective Application of Multiple Rewrite Rules in Algebraic Manipulation , 1980, CADE.

[15]  John Darlington,et al.  A Transformation System for Developing Recursive Programs , 1977, J. ACM.

[16]  Toby Walsh,et al.  Difference Matching , 1992, CADE.

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

[18]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.