Decision procedures are widely used in automated reasoning tools in order to reason about data structures. In applications, many conjectures fall outside the theory handled by a decision procedure. Often, reasoning about user-defined functions on those data structures is needed. For this, inductive reasoning has to be employed. In this work, classes of function definitions and conjectures are identified for which inductive validity can be automatically decided using implicit induction methods and decision procedures for an underlying theory. The class of equational conjectures considered in this paper significantly extends the results of Kapur & Subramaniam (CADE, 2000) [15], which were obtained using explicit induction schemes. Firstly, nonlinear conjectures can be decided automatically. Secondly, function definitions can use other defined functions in their definitions, thus allowing mutually recursive functions and decidable conjectures about them. Thirdly, conjectures can have general terms from the decidable theory on inductive positions. These contributions are crucial for successfully integrating inductive reasoning into decision procedures, thus enabling their use in push-button mode in applications including verification and program analysis.


Decidable Theory Decision Procedure Function Symbol Inductive Reasoning Recursive Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)Google Scholar
  2. 2.
    Bachmair, L.: Proof by consistency in equational theories. In: Proc. LICS 1988, pp. 228–233 (1988)Google Scholar
  3. 3.
    Ball, T., Rajamani, S.K.: The SLAM toolkit. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 260–264. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Bouhoula, A.: Automated theorem proving by test set induction. Journal of Symbolic Computation 23(1), 47–77 (1997)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Falke, S., Kapur, D.: Implicit induction methods and decision procedures. Technical Report TR-CS-2006-04, Department of Computer Science, University of New Mexico (2006), Available at:
  6. 6.
    Fribourg, L.: A strong restriction of the inductive completion procedure. Journal of Symbolic Computation 8(3), 253–276 (1989)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Giesl, J., Kapur, D.: Decidable classes of inductive theorems. In: Goré, R.P., Leitsch, A., Nipkow, T. (eds.) IJCAR 2001. LNCS, vol. 2083, pp. 469–484. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  8. 8.
    Giesl, J., Kapur, D.: Deciding inductive validity of equations. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 17–31. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Henzinger, T.A., Jhala, R., Majumdar, R., Sutre, G.: Software verification with BLAST. In: Ball, T., Rajamani, S.K. (eds.) SPIN 2003. LNCS, vol. 2648, pp. 235–239. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Huet, G.P., Hullot, J.-M.: Proofs by induction in equational theories with constructors. Journal of Computer and Systems Sciences 25(2), 239–266 (1982)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Jouannaud, J.-P., Kounalis, E.: Automatic proofs by induction in theories without constructors. Information and Computation 82(1), 1–33 (1989)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Kapur, D., Giesl, J., Subramaniam, M.: Induction and decision procedures. Revista de la Real Academia de Ciencias, Serie A 98(1), 153–180 (2004)MATHMathSciNetGoogle Scholar
  13. 13.
    Kapur, D., Musser, D.R.: Proof by consistency. Artificial Intelligence 31(2), 125–157 (1987)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Kapur, D., Narendran, P., Zhang, H.: Automating inductionless induction using test sets. Journal of Symbolic Computation 11(1–2), 81–111 (1991)MathSciNetGoogle Scholar
  15. 15.
    Kapur, D., Subramaniam, M.: Extending decision procedures with induction schemes. In: McAllester, D. (ed.) CADE 2000. LNCS, vol. 1831, pp. 324–345. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  16. 16.
    Kapur, D., Subramaniam, M.: Automatic generation of simple lemmas from recursive definitions using decision procedures – preliminary report. In: Saraswat, V.A. (ed.) ASIAN 2003. LNCS, vol. 2896, pp. 125–145. Springer, Heidelberg (2003)Google Scholar
  17. 17.
    Küchlin, W.: Inductive completion by ground proof transformation. In: Resolution of Equations in Algebraic Structures, vol. 2, pp. 211–244. Academic Press, London (1989)Google Scholar
  18. 18.
    Musser, D.R.: On proving inductive properties of abstract data types. In: Proc. POPL 1980, pp. 154–162 (1980)Google Scholar
  19. 19.
    Reddy, U.S.: Term rewriting induction. In: Stickel, M.E. (ed.) CADE 1990. LNCS, vol. 449, pp. 162–177. Springer, Heidelberg (1990)Google Scholar
  20. 20.
    Zhang, H., Kapur, D., Krishnamoorthy, M.S.: A mechanizable induction principle for equational specifications. In: Lusk, E.‘., Overbeek, R. (eds.) CADE 1988. LNCS, vol. 310, pp. 162–181. Springer, Heidelberg (1988)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Stephan Falke
    • 1
  • Deepak Kapur
    • 1
  1. 1.Computer Science DepartmentUniversity of New MexicoAlbuquerqueUSA

Personalised recommendations