General Framework for Mechanizing Induction using Test Set

We present in this paper a test set induction procedure which is refutationally complete for conditional specifications (not restricted to Boolean specifications), in that it refutes any conjecture which is not an inductive theorem. Previously, we could only compute a test set for a conditional specification if the constructors were free. Here, we give a new definition of test sets and a procedure to compute them even if the constructors are not free. The method uses a new notion of provable inconsistency and induction positions (that need to be instantiated by induction schemes) which allows us to refute more false conjectures than with previous approaches. We also present an algorithm to compute all the induction positions of a conditional specification. The method has been implemented in SPIKE. Computer experiments show the superiority of SPIKE concerning mutual induction over explicit induction based systems.

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

[2]  Amy P. Felty,et al.  The Coq proof assistant user's guide : version 5.6 , 1990 .

[3]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

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

[5]  David A. Plaisted,et al.  Semantic Confluence Tests and Completion Methods , 1985, Inf. Control..

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

[7]  Jean-Pierre Jouannaud,et al.  Automatic Proofs by Induction in Theories without Constructors , 1989, Inf. Comput..

[8]  Adel Bouhoula Using induction and rewriting to verify and complete parameterized specifications , 1996 .

[9]  Emmanuel Kounalis,et al.  Testing for the Ground (Co-)Reducibility Property in Term-Rewriting Systems , 1992, Theor. Comput. Sci..

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

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

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

[13]  Gérard P. Huet,et al.  Proofs by induction in equational theories with constructors , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

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

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

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

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

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