Mechanizing and Improving Dependency Pairs

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.

This is a preview of subscription content, log in to check access.

References

  1. 1.

    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236, 133–178 (2000)

    MATH  Article  MathSciNet  Google 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)

  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)

  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)

    MATH  MathSciNet  Article  Google 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)

    MATH  Article  MathSciNet  Google 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)

    MATH  Article  MathSciNet  Google Scholar 

  10. 10.

    Giesl, J.: Generating polynomial orderings for termination proofs. In: Proceedings of the 6th RTA. LNCS 914, pp. 426–431 (1995)

  11. 11.

    Giesl, J., Arts, T.: Verification of Erlang processes by dependency pairs. Appl. Algebra Eng. Commun. Comput. 12(1–2), 39–72 (2001)

    MATH  Article  MathSciNet  Google 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)

    Article  MathSciNet  Google 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)

  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)

  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)

  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)

  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)

  19. 19.

    Gramlich, B.: Generalized sufficient conditions for modular termination of rewriting. Appl. Algebra Eng. Commun. Comput. 5, 131–158 (1994)

    MATH  Article  MathSciNet  Google Scholar 

  20. 20.

    Gramlich, B.: Abstract relations between restricted termination and confluence properties of rewrite systems. Fundam. Inform. 24, 3–23 (1995)

    MATH  MathSciNet  Google Scholar 

  21. 21.

    Gramlich, B.: Termination and confluence properties of structured rewrite systems. Ph.D. thesis, Universität Kaiserslautern, Germany (1996)

  22. 22.

    Hirokawa, N., Middeldorp, A.: Dependency pairs revisited. In: Proceedings of the 15th RTA. LNCS 3091, pp. 249–268 (2004a)

  23. 23.

    Hirokawa, N., Middeldorp, A.: Polynomial interpretations with negative coefficients. In: Proceedings of the AISC ’04, LNAI 3249, 185–198 (2004b)

  24. 24.

    Hirokawa, N., Middeldorp, A.: Tyrolean termination tool. In: Proceedings of the 16th RTA. LNCS 3467, pp. 175–184 (2005a)

  25. 25.

    Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1–2), 172–199 (2005b)

    MATH  Article  MathSciNet  Google Scholar 

  26. 26.

    Hong, H., Jakuš, D.: Testing positiveness of polynomials. J. Autom. Reason. 21(1), 23–38 (1998)

    Article  Google Scholar 

  27. 27.

    Huet, G., Hullot, J.-M.: Proofs by induction in equational theories with constructors. J. Comput. Syst. Sci. 25, 239–299 (1982)

    MATH  Article  MathSciNet  Google 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)

  30. 30.

    Kusakari, K., Nakamura, M., Toyama, Y.: Argument filtering transformation. In: Proceedings of the 1st PPDP. LNCS 1702, pp. 48–62 (1999)

  31. 31.

    Lankford, D.: On proving term rewriting systems are Noetherian. Technical report MTP-3, Louisiana Technical University, Ruston, LA (1979)

  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)

  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)

    MATH  Article  MathSciNet  Google Scholar 

  34. 34.

    Middeldorp, A.: Approximating dependency graphs using tree automata techniques. In: Proceedings of the 1st IJCAR. LNAI 2083, pp. 593–610 (2001)

  35. 35.

    Middeldorp, A.: Approximations for strategies and termination. In: Proceedings of the 2nd WRS. ENTCS 70(6) (2002)

  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)

  37. 37.

    Ohlebusch, E.: Advanced Topics in Term Rewriting. Springer, Berlin Heidelberg New York (2002)

    Google 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)

  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)

  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)

    MATH  Article  MathSciNet  Google Scholar 

  41. 41.

    Toyama, Y.: Counterexamples to the termination for the direct sum of term rewriting systems. Inf. Process. Lett. 25, 141–143 (1987)

    MATH  Article  MathSciNet  Google Scholar 

  42. 42.

    TPDB web page. http://www.lri.fr/~marche/termination-competition/

  43. 43.

    Urbain, X.: Modular and incremental automated termination proofs. J. Autom. Reason. 32(4), 315–355 (2004)

    MATH  MathSciNet  Article  Google Scholar 

  44. 44.

    Zantema, H.: Termination of term rewriting by semantic labelling. Fundam. Inform. 24, 89–105 (1995)

    MATH  MathSciNet  Google Scholar 

  45. 45.

    Zantema, H.: Termination of string rewriting proved automatically. J. Autom. Reason. 34(2), 105–139 (2005)

    MATH  Article  MathSciNet  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Jürgen Giesl.

Additional information

Supported by the Deutsche Forschungsgemeinschaft DFG, grant GI 274/5-1.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Giesl, J., Thiemann, R., Schneider-Kamp, P. et al. Mechanizing and Improving Dependency Pairs. J Autom Reasoning 37, 155–203 (2006). https://doi.org/10.1007/s10817-006-9057-7

Download citation

Key words

  • termination
  • term rewriting
  • dependency pairs