Advertisement

Journal of Automated Reasoning

, Volume 50, Issue 3, pp 279–315 | Cite as

Uncurrying for Termination and Complexity

  • Nao Hirokawa
  • Aart Middeldorp
  • Harald Zankl
Open Access
Article

Abstract

First-order applicative rewrite systems provide a natural framework for modeling higher-order aspects. In this article we present a transformation from untyped applicative term rewrite systems to functional term rewrite systems that preserves and reflects termination. Our transformation is less restrictive than other approaches. In particular, head variables in right-hand sides of rewrite rules can be handled. To further increase the applicability of our transformation, we study the method for innermost rewriting and derivational complexity, and present a version for dependency pairs.

Keywords

Term rewriting Termination Uncurrying 

References

  1. 1.
    Aoto, T., Yamada, T.: Termination of simply typed term rewriting by translation and labelling. In: Nieuwenhuis, R. (ed.) Proc. 14th International Conference on Rewriting Techniques and Applications. LNCS, vol. 2706, pp. 380–394 (2003)Google Scholar
  2. 2.
    Aoto, T., Yamada, T.: Termination of simply-typed applicative term rewriting systems. In: Proc. 2nd International Workshop on Higher-Order Rewriting. Technical Report AIB-2004-03, pp. 61–65. RWTH Aachen (2004)Google Scholar
  3. 3.
    Aoto, T., Yamada, T.: Dependency pairs for simply typed term rewriting. In: Giesl, J. (ed.) Proc. 16th International Conference on Rewriting Techniques and Applications. LNCS, vol. 3467, pp. 120–134 (2005)Google Scholar
  4. 4.
    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theoret. Comput. Sci. 236(1–2), 133–178 (2000)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press (1998)Google Scholar
  6. 6.
    van Bakel, S., Fernández, M.: Normalization results for typeable rewrite systems. Inform. Comput. 133(2), 73–116 (1997)MATHCrossRefGoogle Scholar
  7. 7.
    Blanqui, F., Jouannaud, J.P., Rubio, A.: HORPO with computability closure: A reconstruction. In: Dershowitz, N., Voronkov, A. (eds.) Proc. 14th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. LNCS (LNAI), vol. 4790, pp. 138–150 (2007)Google Scholar
  8. 8.
    Cirstea, H., Kirchner, C.: The simply typed rewriting calculus. In: Proc. 3rd International Workshop on Rewriting Logic and its Applications. Electronic Notes in Theoretical Computer Science, vol. 36, pp. 24–42 (2000)Google Scholar
  9. 9.
    Dershowitz, N.: 33 Examples of termination. In: Comon, H., Jouannaud, J.P. (eds.) French Spring School of Theoretical Computer Science. LNCS, vol. 909, pp. 16–26 (1995)Google Scholar
  10. 10.
    Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of rewrite systems. J. Autom. Reason. 40(2–3), 195–220 (2008)MathSciNetMATHCrossRefGoogle Scholar
  11. 11.
    Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S.: Automated termination proofs for Haskell by term rewriting. ACM Trans. Program. Lang. Syst. 33(2), 39 (2011)CrossRefGoogle Scholar
  12. 12.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: Baader, F., Voronkov, A. (eds.) Proc. 11th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. LNCS (LNAI), vol. 3452, pp. 301–331 (2005)Google Scholar
  13. 13.
    Giesl, J., Thiemann, R., Schneider-Kamp, P.: Proving and disproving termination of higher-order functions. In: Gramlich, B. (ed.) Proc. 5th International Workshop on Frontiers of Combining Systems. LNCS (LNAI), vol. 3717, pp. 216–231 (2005)Google Scholar
  14. 14.
    Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)MathSciNetMATHCrossRefGoogle Scholar
  15. 15.
    Gramlich, B.: Relating innermost, weak, uniform and modular termination of term rewriting systems. In: Voronkov, A. (ed.) Proc. 3rd International Conference on Logic Programming and Automated Reasoning. LNCS (LNAI), vol. 624, pp. 285–296 (1992)Google Scholar
  16. 16.
    Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inform. Comput. 199(1–2), 172–199 (2005)MathSciNetMATHCrossRefGoogle Scholar
  17. 17.
    Hirokawa, N., Middeldorp, A.: Tyrolean termination tool: techniques and features. Inform. Comput. 205(4), 474–511 (2007)MathSciNetMATHCrossRefGoogle Scholar
  18. 18.
    Hirokawa, N., Middeldorp, A., Zankl, H.: Uncurrying for termination. In: Cervesato, I., Veith, H., Voronkov, A. (eds.) Proc. 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. LNCS (LNAI), vol. 5330, pp. 667–681 (2008)Google Scholar
  19. 19.
    Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) Proc. 4th International Joint Conference on Automated Reasoning. LNCS (LNAI), vol. 5195, pp. 364–379 (2008)Google Scholar
  20. 20.
    Hofbauer, D., Lautemann, C.: Termination proofs and the length of derivations (preliminary version). In: Dershowitz, N. (ed.) Proc. 3rd International Conference on Rewriting Techniques and Applications. LNCS, vol. 355, pp. 167–177 (1989)Google Scholar
  21. 21.
    Jouannaud, J.P., Rubio, A.: Polymorphic higher-order recursive path orderings. J ACM 54(1), 2:1–2:48 (2007)Google Scholar
  22. 22.
    Jouannaud, J., Okada,M.: A computation model for executable higher-order algebraic specification languages. In: Khan, G. (ed.) Proc. 6th International Annual IEEE Symposium on Logic in Computer Science, pp. 350–361 (1991)Google Scholar
  23. 23.
    Kennaway, R., Klop, J.W., Sleep, M.R., de Vries, F.J.: Comparing curried and uncurried rewriting. J. Symbolic Comput. 21(1), 15–39 (1996)MathSciNetMATHCrossRefGoogle Scholar
  24. 24.
    Kop, C., van Raamsdonk, R.: Higher order dependency pairs for algebraic functional systems. In: Schmidt-Schauß, M. (ed.) Proc. 22nd International Conference on Rewriting Techniques and Applications. LIPIcs, vol. 10, pp. 203–218 (2011)Google Scholar
  25. 25.
    Korp, M., Sternagel, C., Zankl, H., Middeldorp, A.: Tyrolean Termination Tool 2. In: Treinen, R. (ed.) Proc. 20th International Conference on Rewriting Techniques and Applications. LNCS, vol. 5595, pp. 295–304 (2009)Google Scholar
  26. 26.
    Krishna Rao, M.R.K.: Some characteristics of strong innermost normalization. Theoret. Comput. Sci. 239, 141–164 (2000)MathSciNetMATHCrossRefGoogle Scholar
  27. 27.
    Kusakari, K., Isogai, Y., Sakai, M., Blanqui, F.: Static dependency pair method based on strong computability for higher-order rewrite systems. IEICE Trans. 92-D(10), 2007–2015 (2009)Google Scholar
  28. 28.
    Kusakari, K., Sakai, M.: Enhancing dependency pair method using strong computability in simply-typed term rewriting. Appl. Algebra Eng. Comm. Comput. 18(5), 407–431 (2007)MathSciNetMATHCrossRefGoogle Scholar
  29. 29.
    Middeldorp, A.: Modular Properties of Term Rewriting Systems. PhD thesis, Vrije Universiteit, Amsterdam (1990)Google Scholar
  30. 30.
    Middeldorp, A., Ohsaki, H., Zantema, H.: Transforming termination by self-labelling. In: McRobbie, M.A., Slaney, J.K. (eds.) Proc. 13th International Conference on Automated Deduction. LNCS (LNAI), vol. 1104, pp. 373–387 (1996)Google Scholar
  31. 31.
    Middeldorp, A., Moser, G., Neurauter, F., Waldmann, J., Zankl, H.: Spectral radius theory for automated complexity analysis of rewrite systems. In: Winkler, F. (ed.) Proc. 4th International Conference on Algebraic Informatics. LNCS, vol. 6742, pp. 1–20 (2011)Google Scholar
  32. 32.
    Moser, G., Schnabl, A.: The derivational complexity induced by the dependency pair method. In: Treinen, R. (ed.) Proc. 20th International Conference on Rewriting Techniques and Applications. LNCS, vol. 5595, pp. 255–267 (2009)Google Scholar
  33. 33.
    Moser, G., Schnabl, A., Waldmann, J.: Complexity analysis of term rewriting based on matrix and context dependent interpretations. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) Proc. 28th Annual Conference on Foundations of Software Technology and Theoretical Computer Science. LIPIcs, vol. 2, pp. 304–315 (2008)Google Scholar
  34. 34.
    Neurauter, F., Zankl, H., Middeldorp, A.: Revisiting matrix interpretations for polynomial derivational complexity of term rewriting. In: Fermüller, C.G., Voronkov, A. (eds.) Proc. 17th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. LNCS (ARCoSS), vol. 6397, pp. 550–564 (2010)Google Scholar
  35. 35.
    Ohlebusch, E.: A simple proof of sufficient conditions for the termination of the disjoint union of term rewriting systems. Bull. EATCS 50, 223–228 (1993)MATHGoogle Scholar
  36. 36.
    van Oostrom, V.: Random descent. In: Baader, F. (ed.) Proc. 18th International Conference on Rewriting Techniques and Applications. LNCS, vol. 4533, pp. 314–328 (2007)Google Scholar
  37. 37.
    Sternagel, C., Thiemann, R.: Signature extensions preserve termination—An alternative proof via dependency pairs. In: Dawar, A., Veith, H. (eds.) Proc. 19th Annual Conference of the European Association for Computer Science Logic. LNCS, vol. 6247, pp. 514–528 (2010)Google Scholar
  38. 38.
    Sternagel, C., Thiemann, R.: Generalized and formalized uncurrying. In: Tinelli, C., Sofronie-Stokkermans, V. (eds.) Proc. 8th International Workshop on Frontiers of Combining Systems. LNCS, vol. 6989, pp. 243–258 (2011)Google Scholar
  39. 39.
    Terese (ed.): Term rewriting systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press (2003)Google Scholar
  40. 40.
    Thiemann, R.: The DP Framework for Proving Termination of Term Rewriting. PhD thesis, RWTH Aachen (2007). Available as Technical Report AIB-2007-17Google Scholar
  41. 41.
    Toyama, Y.: Termination of S-expression rewriting systems: lexicographic path ordering for higher-order terms. In: van Oostrom, V. (ed.) Proc. 15th International Conference on Rewriting Techniques and Applications. LNCS, vol. 3091, pp. 40–54 (2004)Google Scholar
  42. 42.
    Waldmann, J.: Polynomially bounded matrix interpretations. In: Lynch, C. (ed.) Proc. 21st International Conference on Rewriting Techniques and Applications. LIPIcs, vol. 6, pp. 357–372 (2010)Google Scholar
  43. 43.
    Xi, H.: Towards automated termination proofs through “freezing“. In: Nipkow, T. (ed.) Proc. 9th International Conference on Rewriting Techniques and Applications. LNCS, vol. 1379, pp. 271–285 (1998)Google Scholar
  44. 44.
    Zankl, H., Hirokawa, N., Middeldorp, A.: Uncurrying for innermost termination and derivational complexity. In: Proc. 5th International Workshop on Higher-Order Rewriting. Electronic Proceedings in Theoretical Computer Science, vol. 49, pp. 46–57 (2011)Google Scholar
  45. 45.
    Zankl, H., Korp, M.: Modular complexity analysis via relative complexity. In: Lynch, C. (ed.) Proc. 21st International Conference on Rewriting Techniques and Applications. LIPIcs, vol. 6, pp. 385–400 (2010)Google Scholar
  46. 46.
    Zankl, H., Middeldorp, A.: Satisfiability of non-linear (ir)rational arithmetic. In: Clarke, E.M., Voronkov, A. (eds.) Proc. 16th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning. LNCS (LNAI), vol. 6355, pp. 481–500 (2010)Google Scholar
  47. 47.
    Zantema, H.: Termination. In: Terese (ed.) Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55, pp. 181–259. Cambridge University Press (2003)Google Scholar

Copyright information

© The Author(s) 2012

Authors and Affiliations

  1. 1.School of Information ScienceJapan Advanced Institute of Science and TechnologyNomiJapan
  2. 2.Institute of Computer ScienceUniversity of InnsbruckInnsbruckAustria

Personalised recommendations