Finding and Certifying Loops

  • Harald Zankl
  • Christian Sternagel
  • Dieter Hofbauer
  • Aart Middeldorp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5901)


The first part of this paper presents a new approach for automatically proving nontermination of string rewrite systems. We encode rewrite sequences as propositional formulas such that a loop can be extracted from a satisfying assignment. Alternatively, loops can be found by enumerating forward closures. In the second part we give a formalization of loops in the theorem prover Isabelle/HOL. Afterwards, we use Isabelle’s code-generation facilities to certify loops. The integration of our approach in CeTA (a program for automatic certification of termination proofs) makes it the first tool capable of certifying nontermination.


Rewriting nontermination certification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arts, T., Giesl, J.: Termination of Term Rewriting Using Dependency Pairs. TCS 236(1-2), 133–178 (2000)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)Google Scholar
  3. 3.
    Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development; Coq’Art: The Calculus of Inductive Constructions. In: Texts in Theoretical Computer Science. An EATCS Series (2004)Google Scholar
  4. 4.
    Blanqui, F., Delobel, W., Coupet-Grimal, S., Hinderer, S., Koprowski, A.: COLOR, a COQ Library on Rewriting and Termination. In: WST, pp. 69–73 (2006)Google Scholar
  5. 5.
    Clarke, A., Biere, A., Raimi, R., Zhu, Y.: Bounded Model Checking Using Satisfiability Solving. FMSD 19(1), 7–34 (2001)MATHGoogle Scholar
  6. 6.
    Contejean, E., Courtieu, P., Forest, J., Pons, O., Urbain, X.: Certification of Automated Termination Proofs. In: Konev, B., Wolter, F. (eds.) FroCos 2007. LNCS (LNAI), vol. 4720, pp. 148–162. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Cook, S.: The Complexity of Theorem-Proving Procedures. In: STOC, pp. 151–158 (1971)Google Scholar
  8. 8.
    Dutertre, B., de Moura, L.: A Fast Linear-Arithmetic Solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)Google Scholar
  10. 10.
    Endrullis, J., Waldmann, J., Zantema, H.: Matrix Interpretations for Proving Termination of Term Rewriting. JAR 40(2-3), 195–220 (2008)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Geser, A., Hofbauer, D., Waldmann, J.: Termination Proofs for String Rewriting Systems via Inverse Match-Bounds. JAR 34(4), 365–385 (2005)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Geser, A., Zantema, H.: Non-Looping String Rewriting. TIA 33(3), 279–302 (1999)MATHMathSciNetGoogle Scholar
  13. 13.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: The Dependency Pair Framework: Combining Techniques for Automated Termination Proofs. In: Baader, F., Voronkov, A. (eds.) LPAR 2004. LNCS (LNAI), vol. 3452, pp. 301–331. Springer, Heidelberg (2005)Google Scholar
  14. 14.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and Disproving Termination of Higher-Order Functions. In: Gramlich, B. (ed.) FroCos 2005. LNCS (LNAI), vol. 3717, pp. 216–231. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and Improving Dependency Pairs. JAR 37(3), 155–203 (2006)MATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Haftmann, F.: Code Generation from Specifications in Higher Order Logic. PhD Thesis, Technische Universität München (2009)Google Scholar
  17. 17.
    Hirokawa, N., Middeldorp, A.: Automating the Dependency Pair Method. I&C 199(1-2), 172–199 (2005)MATHMathSciNetGoogle Scholar
  18. 18.
    Korp, M., Middeldorp, A.: Match-Bounds Revisited. I&C (2009), doi:10.1016/j.ic.2009.02.010Google Scholar
  19. 19.
    Korp, M., Sternagel, C., Zankl, H., Middeldorp, A.: Tyrolean Termination Tool 2. In: Treinen, R. (ed.) RTA 2009. LNCS, vol. 5595, pp. 295–304. Springer, Heidelberg (2009)Google Scholar
  20. 20.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)MATHGoogle Scholar
  21. 21.
    Oppelt, M.: Automatische Erkennung von Ableitungsmustern in nichtterminierenden Wortersetzungssystemen. Master’s Thesis, HTWK Leipzig, FH (2008)Google Scholar
  22. 22.
    Payet, É.: Loop Detection in Term Rewriting Using the Eliminating Unfoldings. TCS 403(2-3), 307–327 (2008)MATHCrossRefMathSciNetGoogle Scholar
  23. 23.
    Plaisted, D., Greenbaum, S.: A Structure-Preserving Clause Form Translation. JSC 2(3), 293–304 (1986)MATHMathSciNetGoogle Scholar
  24. 24.
    Thiemann, R., Sternagel, C.: Certification of Termination Proofs Using CeTA. In: Berghofer, S., et al. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 452–468. Springer, Heidelberg (2009)Google Scholar
  25. 25.
    Waldmann, J.: Matchbox: A Tool for Match-Bounded String Rewriting. In: van Oostrom, V. (ed.) RTA 2004. LNCS, vol. 3091, pp. 85–94. Springer, Heidelberg (2004)Google Scholar
  26. 26.
    Waldmann, J.: Compressed Loops, Draft (2007),
  27. 27.
    Zankl, H.: Lazy Termination Analysis. PhD Thesis, University of Innsbruck (2009)Google Scholar
  28. 28.
    Zantema, H.: Termination of String Rewriting Proved Automatically. JAR 34(2), 105–139 (2005)Google Scholar
  29. 29.
    Zantema, H.: Termination. In: TeReSe (ed.) Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55, pp. 181–259. Cambridge University Press, Cambridge (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Harald Zankl
    • 1
  • Christian Sternagel
    • 1
  • Dieter Hofbauer
    • 2
  • Aart Middeldorp
    • 1
  1. 1.University of InnsbruckInnsbruckAustria
  2. 2.Berufsakademie NordhessenBad WildungenGermany

Personalised recommendations