Implicit induction in conditional theories

We propose a new procedure for proof by induction in conditional theories where case analysis is simulated by term rewriting. This technique reduces considerably the number of variables of a conjecture to be considered for applying induction schemes. Our procedure is presented as a set of inference rules whose correctness has been formally proved. Moreover, when the axioms are ground convergent and the functions are completely defined, it is possible to apply the system for refuting conjectures. The procedure is even refutationally complete for conditional equations with Boolean preconditions over free constructors. The method is entirely implemented in the proverSPIKE. This system has solved interesting problems in a completely automatic way, that is, without interaction with the user and without ad hoc heuristics. It has also proved the challenging Gilbreath card trick, with only two easy lemmas.

[1]  Michaël Rusinowitch,et al.  On Word Problems in Horn Theories , 1987, CTRS.

[2]  Uday S. Reddy,et al.  Term Rewriting Induction , 1990, CADE.

[3]  Deepak Kapur,et al.  Proof by Consistency , 1987, Artif. Intell..

[4]  Michaël Rusinowitch,et al.  SPIKE, an Automatic Theorem Prover , 1992, LPAR.

[5]  Leo Bachmair,et al.  Proof by consistency in equational theories , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[6]  Peter Padawitz,et al.  Computing in Horn Clause Theories , 1988, EATCS Monographs on Theoretical Computer Science.

[7]  G. Kok,et al.  An automatic theorem-prover , 1971 .

[8]  Deepak Kapur,et al.  A Mechanizable Induction Principle for Equational Specifications , 1988, CADE.

[9]  Jean-Pierre Jouannaud,et al.  Proofs by induction in equational theories without constructors , 1985, Bull. EATCS.

[10]  Nachum Dershowitz,et al.  Canonical Conditional Rewrite Systems , 1988, CADE.

[11]  Gérard P. Huet,et al.  Proofs by Induction in Equational Theories with Constructors , 1980, FOCS.

[12]  Bernhard Gramlich,et al.  On Notions of Inductive Validity for First-Oder Equational Clauses , 1994, CADE.

[13]  Gérard Huet,et al.  The Gilbreath Trick : A case study in Axiomatisation and Proof Development in the Coq Proof , 1991 .

[14]  François Bronsard,et al.  Conditional Rewriting in Focus , 1990, CTRS.

[15]  Hantao Zhang,et al.  Implementing Contextual Rewriting , 1992, CTRS.

[16]  Michaël Rusinowitch,et al.  Mechanizing inductive reasoning , 1990, Bull. EATCS.

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

[18]  Toby Walsh,et al.  Difference Unification , 1993, IJCAI.

[19]  David R. Musser,et al.  On proving inductive properties of abstract data types , 1980, POPL '80.

[20]  Michaël Rusinowitch,et al.  Automated Mathematical Induction , 1995, J. Log. Comput..

[21]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[22]  Adel Bouhoula,et al.  Preuves automatiques par récurrence dans les théories conditionnelles , 1994 .

[23]  Emmanuel Kounalis,et al.  Testing for Inductive (Co)-Reducibility , 1990, CAAP.

[24]  Laurent Fribourg A Strong Restriction of the Inductive Completion Procedure , 1989, J. Symb. Comput..

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

[26]  Ellis Horowitz,et al.  Abstract data types and software validation , 1978, CACM.