Extending Decision Procedures with Induction Schemes
Families of function definitions and conjectures based in quantifier-free decidable theories are identified for which inductive validity of conjectures can be decided by the cover set method, a heuristic implemented in a rewrite-based induction theorem prover Rewrite Rule Laboratory (RRL) for mechanizing induction. Conditions characterizing definitions and conjectures are syntactic, and can be easily checked, thus making it possible to determine a priori whether a given conjecture can be decided. The concept of a T-based function definition is introduced that consists of a finite set of terminating complete rewrite rules of the form f(s 1 ,..., s m ) → r, where s 1 ,..., s m are interpreted terms from a decidable theory T, and r is either an interpreted term or has nonnested recursive calls to f with all other function symbols from T. Two kinds of conjectures are considered. Simple conjectures are of the form f(x 1 ,...x m ) = t, where f is T-based, x i 's are distinct variables, and t is interpreted in T. Complex conjectures differ from simple conjectures in their left sides which may contain many function symbols whose definitions are T-based and the nested order in which these function symbols appear in the left sides have the compatibility property with their definitions. The main objective is to ensure that for each induction subgoal generated from a conjecture after selecting an induction scheme, the resulting formula can be simplified so that induction hypothesis(es), whenever needed, is applicable, and the result of this application is a formula in T. Decidable theories considered are the quantifier-free theory of Presburger arithmetic, congruence closure on ground terms (with or without associative-commutative operators), propositional calculus, and the quantifier-free theory of constructors (mostly, free constructors as in the case of finite lists and finite sequences). A byproduct of the approach is that it can predict the structure of intermediate lemmas needed for automatically deciding this subclass of conjectures. Several examples over lists, numbers and of properties involved in establishing the number-theoretic correctness of arithmetic circuits are given.