Journal of Automated Reasoning

, Volume 37, Issue 3, pp 155–203 | Cite as

Mechanizing and Improving Dependency Pairs

  • Jürgen Giesl
  • René Thiemann
  • Peter Schneider-Kamp
  • Stephan Falke
Article

Abstract

The dependency pair technique is a powerful method for automated termination and innermost termination proofs of term rewrite systems (TRSs). For any TRS, it generates inequality constraints that have to be satisfied by well-founded orders. We improve the dependency pair technique by considerably reducing the number of constraints produced for (innermost) termination proofs. Moreover, we extend transformation techniques to manipulate dependency pairs that simplify (innermost) termination proofs significantly. To fully mechanize the approach, we show how transformations and the search for suitable orders can be mechanized efficiently. We implemented our results in the automated termination prover AProVE and evaluated them on large collections of examples.

Key words

termination term rewriting dependency pairs 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236, 133–178 (2000)MATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Arts, T., Giesl, J.: A collection of examples for termination of term rewriting using dependency pairs. Technical report AIB-2001-09, RWTH Aachen, Germany. Available from http://aib.informatik.rwth-aachen.de (2001)
  3. 3.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge, UK (1998)Google Scholar
  4. 4.
    Borralleras, C.: Ordering-based methods for proving termination automatically. Ph.D. thesis, Universitat Politècnica de Catalunya, Spain (2003)Google Scholar
  5. 5.
    Borralleras, C., Ferreira, M., Rubio, A.: Complete monotonic semantic path orderings. In: Proceedings of the 17th CADE. LNAI 1831, pp. 346–364 (2000)Google Scholar
  6. 6.
    Contejean, E., Marché, C., Monate, B., Urbain, X.: CiME version 2. Available from http://cime.lri.fr (2000)
  7. 7.
    Dershowitz, N.: Termination of rewriting. J. Symb. Comput. 3, 69–116 (1987)MATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Dershowitz, N., Lindenstrauss, N., Sagiv, Y., Serebrenik, A.: A general framework for automatic termination analysis of logic programs. Appl. Algebra Eng. Commun. Comput. 12(1–2), 117–156 (2001)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Geser, A., Hofbauer, D., Waldmann, J.: Match-bounded string rewriting systems. Appl. Algebra Eng. Commun. Comput. 15(3–4), 149–171 (2004)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Giesl, J.: Generating polynomial orderings for termination proofs. In: Proceedings of the 6th RTA. LNCS 914, pp. 426–431 (1995)Google Scholar
  11. 11.
    Giesl, J., Arts, T.: Verification of Erlang processes by dependency pairs. Appl. Algebra Eng. Commun. Comput. 12(1–2), 39–72 (2001)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Giesl, J., Arts, T., Ohlebusch, E.: Modular termination proofs for rewriting using dependency pairs. J. Symb. Comput. 34(1), 21–58 (2002)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Improving dependency pairs. In: Proceedings of the 10th LPAR, LNAI 2850. pp. 165–179 (2003a)Google Scholar
  14. 14.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing dependency pairs. Technical report AIB-2003-08, RWTH Aachen, Germany. Available from http://aib.informatik.rwth-aachen.de (2003b)
  15. 15.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: Proceedings of the 11th LPAR. LNAI 3452, pp. 301–331 (2005a)Google Scholar
  16. 16.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: Proceedings of the 5th FroCoS. LNAI 3717, pp. 216–231 (2005b)Google Scholar
  17. 17.
    Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: Automatic termination proofs in the dependency pair framework. In: Proceedings of the 3rd IJCAR. LNAI 4130, pp. 281–286 (2006a)Google Scholar
  18. 18.
    Giesl, J., Swiderski, S., Schneider-Kamp, P., Thiemann, R.: Automated termination analysis for Haskell: from term rewriting to programming languages. In: Proceedings of the 17th RTA. LNCS 4098, pp. 297–312 (2006b)Google Scholar
  19. 19.
    Gramlich, B.: Generalized sufficient conditions for modular termination of rewriting. Appl. Algebra Eng. Commun. Comput. 5, 131–158 (1994)MATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Gramlich, B.: Abstract relations between restricted termination and confluence properties of rewrite systems. Fundam. Inform. 24, 3–23 (1995)MATHMathSciNetGoogle Scholar
  21. 21.
    Gramlich, B.: Termination and confluence properties of structured rewrite systems. Ph.D. thesis, Universität Kaiserslautern, Germany (1996)Google Scholar
  22. 22.
    Hirokawa, N., Middeldorp, A.: Dependency pairs revisited. In: Proceedings of the 15th RTA. LNCS 3091, pp. 249–268 (2004a)Google Scholar
  23. 23.
    Hirokawa, N., Middeldorp, A.: Polynomial interpretations with negative coefficients. In: Proceedings of the AISC ’04, LNAI 3249, 185–198 (2004b)Google Scholar
  24. 24.
    Hirokawa, N., Middeldorp, A.: Tyrolean termination tool. In: Proceedings of the 16th RTA. LNCS 3467, pp. 175–184 (2005a)Google Scholar
  25. 25.
    Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1–2), 172–199 (2005b)MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Hong, H., Jakuš, D.: Testing positiveness of polynomials. J. Autom. Reason. 21(1), 23–38 (1998)CrossRefGoogle Scholar
  27. 27.
    Huet, G., Hullot, J.-M.: Proofs by induction in equational theories with constructors. J. Comput. Syst. Sci. 25, 239–299 (1982)MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Knuth, D., Bendix, P.: Simple word problems in universal algebras. In: Leech, J. (ed.) Computational Problems in Abstract Algebra, pp. 263–297. Pergamon Press, Oxford, UK (1970)Google Scholar
  29. 29.
    Koprowski, A.: TPA: termination proved automatically. In: Proceedings of the 17th RTA. LNCS 4098, pp. 257–266 (2006)Google Scholar
  30. 30.
    Kusakari, K., Nakamura, M., Toyama, Y.: Argument filtering transformation. In: Proceedings of the 1st PPDP. LNCS 1702, pp. 48–62 (1999)Google Scholar
  31. 31.
    Lankford, D.: On proving term rewriting systems are Noetherian. Technical report MTP-3, Louisiana Technical University, Ruston, LA (1979)Google Scholar
  32. 32.
    Lee, C. S., Jones, N. D., Ben-Amram, A. M.: The size-change principle for program termination. In: Proceedings of the 28th POPL, pp. 81–92 (2001)Google Scholar
  33. 33.
    Lucas, S.: Polynomials over the reals in proofs of termination: from theory to practice. RAIRO Theor. Inform. Appl. 39(3), 547–586 (2005)MATHCrossRefMathSciNetGoogle Scholar
  34. 34.
    Middeldorp, A.: Approximating dependency graphs using tree automata techniques. In: Proceedings of the 1st IJCAR. LNAI 2083, pp. 593–610 (2001)Google Scholar
  35. 35.
    Middeldorp, A.: Approximations for strategies and termination. In: Proceedings of the 2nd WRS. ENTCS 70(6) (2002)Google Scholar
  36. 36.
    Ohlebusch, E., Claves, C., Marché, C.: TALP: A tool for termination analysis of logic programs. In: Proceedings of the 11th RTA. LNCS 1833, 270–273 (2000)Google Scholar
  37. 37.
    Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, Berlin Heidelberg New York (2002)MATHGoogle Scholar
  38. 38.
    Schneider-Kamp, P., Giesl, J., Serebrenik, A., Thiemann, R.: Automated termination analysis for logic programs by term rewriting. In: Proceedings of the 16th LOPSTR. LNCS (2007) (to appear)Google Scholar
  39. 39.
    Thiemann, R., Giesl, J., Schneider-Kamp, P.: Improved modular termination proofs using dependency pairs. In: Proceedings of the 2nd IJCAR. LNAI 3097, pp. 75–90 (2004)Google Scholar
  40. 40.
    Thiemann, R., Giesl, J.: The size-change principle and dependency pairs for termination of term rewriting. Appl. Algebra Eng. Commun. Comput. 16(4), 229–270 (2005)MATHCrossRefMathSciNetGoogle Scholar
  41. 41.
    Toyama, Y.: Counterexamples to the termination for the direct sum of term rewriting systems. Inf. Process. Lett. 25, 141–143 (1987)MATHCrossRefMathSciNetGoogle Scholar
  42. 42.
  43. 43.
    Urbain, X.: Modular and incremental automated termination proofs. J. Autom. Reason. 32(4), 315–355 (2004)MATHMathSciNetCrossRefGoogle Scholar
  44. 44.
    Zantema, H.: Termination of term rewriting by semantic labelling. Fundam. Inform. 24, 89–105 (1995)MATHMathSciNetGoogle Scholar
  45. 45.
    Zantema, H.: Termination of string rewriting proved automatically. J. Autom. Reason. 34(2), 105–139 (2005)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, Inc. 2007

Authors and Affiliations

  • Jürgen Giesl
    • 1
  • René Thiemann
    • 1
  • Peter Schneider-Kamp
    • 1
  • Stephan Falke
    • 2
  1. 1.LuFG Informatik 2RWTH AachenAachenGermany
  2. 2.Computer Science DepartmentUniversity of New MexicoAlbuquerqueUSA

Personalised recommendations