Certification of Nontermination Proofs

  • Christian Sternagel
  • René Thiemann
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7406)


Automatic tools for proving (non)termination of term rewrite systems, if successful, deliver proofs as justification. In this work, we focus on how to certify nontermination proofs. Besides some techniques that allow to reduce the number of rules, the main way of showing nontermination is to find a loop, a finite derivation of a special shape that implies nontermination. For standard termination, certifying loops is easy. However, it is not at all trivial to certify whether a given loop also implies innermost nontermination. To this end, a complex decision procedure has been developed in [1]. We formalized this decision procedure in Isabelle/HOL and were able to simplify some parts considerably. Furthermore, from our formalized proofs it is easy to obtain a low complexity bound. Along the way of presenting our formalization, we report on generally applicable ideas that allow to reduce the formalization effort and improve the efficiency of our certifier.


nontermination formalization interactive theorem proving term rewriting 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Thiemann, R., Giesl, J., Schneider-Kamp, P.: Deciding Innermost Loops. In: Voronkov, A. (ed.) RTA 2008. LNCS, vol. 5117, pp. 366–380. Springer, Heidelberg (2008), doi:10.1007/978-3-540-70590-1_25CrossRefGoogle Scholar
  2. 2.
    Haftmann, F., Nipkow, T.: Code Generation via Higher-Order Rewrite Systems. In: Blume, M., Kobayashi, N., Vidal, G. (eds.) FLOPS 2010. LNCS, vol. 6009, pp. 103–117. Springer, Heidelberg (2010), doi:10.1007/978-3-642-12251-4_9CrossRefGoogle Scholar
  3. 3.
    Thiemann, R., Sternagel, C.: Certification of Termination Proofs Using CeTA. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 452–468. Springer, Heidelberg (2009), doi:10.1007/978-3-642-03359-9_31CrossRefGoogle Scholar
  4. 4.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL - A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002), doi:10.1007/3-540-45949-9zbMATHGoogle Scholar
  5. 5.
    Baader, F., Nipkow, T.: Term Rewriting and All That., Paperback edn. Cambridge University Press, New York (1999), doi:10.2277/0521779200Google Scholar
  6. 6.
    Ben Cherifa, A., Lescanne, P.: Termination of rewriting systems by polynomial interpretations and its implementation. Sci. Comput. Program. 9(2), 137–159 (1987), doi:10.1016/0167-6423(87)90030-XMathSciNetzbMATHCrossRefGoogle Scholar
  7. 7.
    Lankford, D.S.: On proving term rewriting systems are Noetherian. Memo MTP-3, Louisiana Technical University, Ruston, LA, USA (May 1979)Google Scholar
  8. 8.
    Zantema, H.: Termination of string rewriting proved automatically. J. Autom. Reasoning 34(2), 105–139 (2005), doi:10.1007/s10817-005-6545-0MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Sternagel, C., Thiemann, R.: Signature Extensions Preserve Termination - An Alternative Proof Via Dependency Pairs. In: Dawar, A., Veith, H. (eds.) CSL 2010. LNCS, vol. 6247, pp. 514–528. Springer, Heidelberg (2010), doi:10.1007/978-3-642-15205-4_39CrossRefGoogle Scholar
  10. 10.
    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236(1-2), 133–178 (2000), doi:10.1016/S0304-3975(99)00207-8MathSciNetzbMATHCrossRefGoogle Scholar
  11. 11.
    Zankl, H., Sternagel, C., Hofbauer, D., Middeldorp, A.: Finding and Certifying Loops. In: van Leeuwen, J., Muscholl, A., Peleg, D., Pokorný, J., Rumpe, B. (eds.) SOFSEM 2010. LNCS, vol. 5901, pp. 755–766. Springer, Heidelberg (2010), doi:10.1007/978-3-642-11266-9_63CrossRefGoogle Scholar
  12. 12.
    Sternagel, C., Thiemann, R.: Executable Transitive Closures of Finite Relations. In: The Archive of Formal Proofs (March 2011),, Formalization
  13. 13.
    Berghofer, S., Bulwahn, L., Haftmann, F.: Turning Inductive into Equational Specifications. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 131–146. Springer, Heidelberg (2009), doi:10.1007/978-3-642-03359-9_11CrossRefGoogle Scholar
  14. 14.
    Krauss, A.: Partial and nested recursive function definitions in higher-order logic. J. Autom. Reasoning 44(4), 303–336 (2010), doi:10.1007/s10817-009-9157-2MathSciNetzbMATHCrossRefGoogle Scholar
  15. 15.
    Krauss, A.: Recursive definitions of monadic functions. In: PAR 2010. EPTCS, vol. 43, pp. 1–13 (2010), doi:10.4204/EPTCS.43.1Google Scholar
  16. 16.
    Busatto, G., Lohrey, M., Maneth, S.: Efficient Memory Representation of XML Documents. In: Bierman, G., Koch, C. (eds.) DBPL 2005. LNCS, vol. 3774, pp. 199–216. Springer, Heidelberg (2005), doi:10.1007/11601524_13CrossRefGoogle Scholar
  17. 17.
    Schmidt-Schauß, M.: Polynomial equality testing for terms with shared substructures. Frank report 21, Institut für Informatik. FB Informatik und Mathematik. J.W. Goethe-Universität, Frankfurt am Main (2005)Google Scholar
  18. 18.
    Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: Automatic Termination Proofs in the Dependency Pair Framework. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 281–286. Springer, Heidelberg (2006), doi:10.1007/11814771_24CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Christian Sternagel
    • 1
  • René Thiemann
    • 2
  1. 1.Japan Advanced Institute of Science and TechnologyJapan
  2. 2.Institute of Computer ScienceUniversity of InnsbruckAustria

Personalised recommendations