Improvements in Formula Generalization

  • Markus Aderhold
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4603)


For proofs by induction it is often necessary to generalize statements to strengthen the induction hypotheses. This paper presents improved heuristics to generalize away subterms, unnecessary conditions and function symbols in a formula. This resolves shortcomings that we encountered within an experimental evaluation of generalization heuristics from the literature. Our generalization method has been implemented in the verification tool \(\checkmark\)eriFun . An evaluation with examples from the literature as well as several case studies of our own demonstrates the success of our development.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Aderhold, M.: Formula generalization in erifun. Diploma thesis, Technische Universität Darmstadt (2004)Google Scholar
  3. 3.
    Aderhold, M., Walther, C., Szallies, D., Schlosser, A.: A fast disprover for erifun. In: Ahrendt, W., Baumgartner, P., de Nivelle, H. (eds.) Proc. of the 3rd Workshop on Disproving, pp. 59–69 (2006)Google Scholar
  4. 4.
    Aubin, R.: Mechanizing Structural Induction. PhD thesis, University of Edinburgh (1976)Google Scholar
  5. 5.
    Boyer, R.S., Moore, J S.: A Computational Logic. Academic Press, San Diego (1979)MATHGoogle Scholar
  6. 6.
    Bundy, A.: The automation of proof by mathematical induction. In: Robinson, A., Voronkov, A. (eds.) Handbook of Automated Reasoning, ch. 13, vol. I, pp. 845–911. Elsevier, Amsterdam (2001)CrossRefGoogle Scholar
  7. 7.
    Bundy, A., Basin, D., Hutter, D., Ireland, A.: Rippling: Meta-Level Guidance for Mathematical Reasoning. In: Cambridge Tracts in Theoretical Computer Science. ch. 3, no. 56, Cambridge University Press, Cambridge (2005)Google Scholar
  8. 8.
    Dixon, L.: A Proof Planning Framework For Isabelle. PhD thesis, University of Edinburgh (2005)Google Scholar
  9. 9.
    Hummel, B.: Generierung von Induktionsformeln und Generalisierung beim automatischen Beweisen mit vollständiger Induktion. Doctoral dissertation, Universität Karlsruhe (1990)Google Scholar
  10. 10.
    Kapur, D.: Theorem proving support for hardware verification. In: Third Intl. Workshop on First-Order Theorem Proving, (2000), Invited talk, paper available at
  11. 11.
    Kapur, D., Subramaniam, M.: Lemma discovery in automating induction. In: McRobbie, M.A., Slaney, J.K. (eds.) Automated Deduction – CADE-13. LNCS, vol. 1104, pp. 538–552. Springer, Heidelberg (1996)Google Scholar
  12. 12.
    Owre, S., Rushby, J., Shankar, N.: PVS: A prototype verification system. In: Kapur, D. (ed.) Automated Deduction – CADE-11. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)Google Scholar
  13. 13.
    Schweitzer, S.: Symbolische Auswertung und Heuristiken zur Verifikation funktionaler Programme. Doctoral dissertation, TU Darmstadt (2007)Google Scholar
  14. 14.
    Walther, C.: Mathematical induction. In: Gabbay, D.M., Hogger, C.J., Robinson, J.A. (eds.) Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 2, pp. 127–228. Oxford University Press, Oxford (1994)Google Scholar
  15. 15.
    Walther, C., Aderhold, M., Schlosser, A.: The L 1.0 Primer. Technical Report VFR 06/01, Technische Universität Darmstadt (2006)Google Scholar
  16. 16.
    Walther, C., Schweitzer, S.: About eriFun. In: Baader, F. (ed.) Automated Deduction – CADE-19. LNCS (LNAI), vol. 2741, pp. 322–327. Springer, Heidelberg (2003)Google Scholar
  17. 17.
    Walther, C., Schweitzer, S.: Verification in the classroom. Journal of Automated Reasoning 32(1), 35–73 (2004)CrossRefGoogle Scholar
  18. 18.
    Walther, C., Schweitzer, S.: Reasoning about incompletely defined programs. In: Sutcliffe, G., Voronkov, A. (eds.) LPAR 2005. LNCS (LNAI), vol. 3835, pp. 427–442. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Markus Aderhold
    • 1
  1. 1.Fachgebiet Programmiermethodik, Technische Universität DarmstadtGermany

Personalised recommendations