Journal of Automated Reasoning

, Volume 51, Issue 1, pp 27–56 | Cite as

Analyzing Innermost Runtime Complexity of Term Rewriting by Dependency Pairs

  • Lars Noschinski
  • Fabian Emmes
  • Jürgen Giesl


We present a modular framework to analyze the innermost runtime complexity of term rewrite systems automatically. Our method is based on the dependency pair framework for termination analysis. In contrast to previous work, we developed a direct adaptation of successful termination techniques from the dependency pair framework in order to use them for complexity analysis. By extensive experimental results, we demonstrate the power of our method compared to existing techniques.


Complexity analysis Term rewriting Termination analysis Dependency pairs 


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. Theor. Comp. Sci. 236, 133–178 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Avanzini, M., Moser, G., Schnabl, A.: Automated implicit computational complexity analysis. In: Proc. IJCAR ’08, LNAI 5195, pp. 132–138 (2008)Google Scholar
  3. 3.
    Avanzini, M., Moser, G.: Dependency pairs and polynomial path orders. In: Proc. RTA ’09, LNCS 5595, pp. 48–62 (2009)Google Scholar
  4. 4.
    Avanzini, M., Moser, G.: Closing the gap between runtime complexity and polytime computability. In: Proc. RTA ’10, LIPIcs 6, pp. 33–48 (2010)Google Scholar
  5. 5.
    Avanzini, M., Moser, G.: Complexity analysis by graph rewriting. In: Proc. FLOPS ’10, LNCS 6009, pp. 257–271 (2010)Google Scholar
  6. 6.
    Baader, F., Nipkow, T.: erm Rewriting and All That. Cambridge University Press (1998)Google Scholar
  7. 7.
    Bonfante, G., Cichon, A., Marion, J.-Y., Touzet, H.: Algorithms with polynomial interpretation termination proof. J. Funct. Program. 11(1), 33–53 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Brockschmidt, M., Musiol, R., Otto, C., Giesl, J.: Automated termination proofs for Java programs with cyclic data. In: Proc. CAV ’12, LNCS, pp. 105–122 (2012)Google Scholar
  9. 9.
    Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2–3), 195–220 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Geser, A., Hofbauer, D., Waldmann, J., Zantema, H.: On tree automata that certify termination of left-linear term rewriting systems. Inf. Comput. 205(4), 512–534 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: Combining techniques for automated termination proofs. In: Proc. LPAR ’04, LNAI 3452, pp. 301–331 (2005)Google Scholar
  12. 12.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for Haskell by term rewriting. ACM Trans. Program. Lang. Syst. 33(2), 7:1–7:39(2011)Google Scholar
  14. 14.
    Giesl, J., Ströder, T., Schneider-Kamp, P., Emmes, F., Fuhs, C.: Symbolic evaluation graphs and term rewriting – A general methodology for analyzing logic programs. In: Proc. PPDP ’12, pp. 1–12. ACM Press (2012)Google Scholar
  15. 15.
    Givan, R., McAllester, D.A.: Polynomial-time computation via local inference relations. ACM Trans. Comput. Log. 3(4), 521–541 (2002)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1,2), 172–199 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. In: Proc. IJCAR ’08, LNAI 5195, pp. 364–379 (2008)Google Scholar
  18. 18.
    Hirokawa, N., Moser, G.: Complexity, graphs, and the dependency pair method. In: Proc. LPAR ’08, LNAI 5330, pp. 652–666 (2008)Google Scholar
  19. 19.
    Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. CoRR (2011)
  20. 20.
    Hofbauer, D., Lautemann, C.: Termination proofs and the length of derivations. In: Proc. RTA ’89, LNCS 355, pp. 167–177 (1989)Google Scholar
  21. 21.
    Hofmann, M.: Linear types and non-size-increasing polynomial time computation. In: Proc. LICS ’99, pp. 464–473. IEEE Press (1999)Google Scholar
  22. 22.
    Koprowski, A., Waldmann, J.: Max/plus tree automata for termination of term rewriting. Acta Cybern. 19(2), 357–392 (2009)MathSciNetzbMATHGoogle Scholar
  23. 23.
    Marion, J.-Y., Péchoux, R.: Characterizations of polynomial complexity classes with a better intensionality. In: Proc. PPDP ’08, pp. 79–88. ACM Press (2008)Google Scholar
  24. 24.
    Moser, G., Schnabl, A., Waldmann, J.: Complexity analysis of term rewriting based on matrix and context dependent interpretations. In: Proc. FSTTCS ’08, LIPIcs 2, pp. 304–315 (2008)Google Scholar
  25. 25.
    Moser, G.: Personal Communication (2010)Google Scholar
  26. 26.
    Neurauter, F., Zankl, H., Middeldorp, A.: Revisiting matrix interpretations for polynomial derivational complexity of term rewriting. In: Proc. LPAR ’10, LNAI 6397, pp. 550–564 (2010)Google Scholar
  27. 27.
    Noschinski, L., Emmes, F., Giesl, J.: A dependency pair framework for innermost complexity analysis of term rewrite systems. In: Proc. CADE ’11, LNAI 6803, pp. 422–438 (2011)Google Scholar
  28. 28.
    Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of Java Bytecode by term rewriting. In: Proc. RTA ’10, LIPIcs 6, pp. 259–276 (2010)Google Scholar
  29. 29.
    Waldmann, J.: Polynomially bounded matrix interpretations. In: Proc. RTA ’10, LIPIcs 6, pp. 357–372 (2010)Google Scholar
  30. 30.
    Zankl, H., Korp, M.: Modular complexity analysis via relative complexity. In: Proc. RTA ’10, LIPIcs 6, pp. 385–400 (2010)Google Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2013

Authors and Affiliations

  1. 1.Institut für InformatikTU MunichMunichGermany
  2. 2.LuFG Informatik 2RWTH Aachen UniversityAachenGermany

Personalised recommendations