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.
Article PDF
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
References
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)
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)
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)
Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theoret. Comput. Sci. 236(1–2), 133–178 (2000)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press (1998)
van Bakel, S., Fernández, M.: Normalization results for typeable rewrite systems. Inform. Comput. 133(2), 73–116 (1997)
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)
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)
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)
Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of rewrite systems. J. Autom. Reason. 40(2–3), 195–220 (2008)
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)
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)
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)
Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)
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)
Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inform. Comput. 199(1–2), 172–199 (2005)
Hirokawa, N., Middeldorp, A.: Tyrolean termination tool: techniques and features. Inform. Comput. 205(4), 474–511 (2007)
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)
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)
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)
Jouannaud, J.P., Rubio, A.: Polymorphic higher-order recursive path orderings. J ACM 54(1), 2:1–2:48 (2007)
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)
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)
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)
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)
Krishna Rao, M.R.K.: Some characteristics of strong innermost normalization. Theoret. Comput. Sci. 239, 141–164 (2000)
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)
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)
Middeldorp, A.: Modular Properties of Term Rewriting Systems. PhD thesis, Vrije Universiteit, Amsterdam (1990)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Terese (ed.): Term rewriting systems. Cambridge Tracts in Theoretical Computer Science, vol. 55. Cambridge University Press (2003)
Thiemann, R.: The DP Framework for Proving Termination of Term Rewriting. PhD thesis, RWTH Aachen (2007). Available as Technical Report AIB-2007-17
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)
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)
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)
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)
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)
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)
Zantema, H.: Termination. In: Terese (ed.) Term Rewriting Systems. Cambridge Tracts in Theoretical Computer Science, vol. 55, pp. 181–259. Cambridge University Press (2003)
Author information
Authors and Affiliations
Corresponding author
Additional information
This research is supported by FWF (Austrian Science Fund) project P18763 and the Grant-in-Aid for Young Scientists Nos. 20800022 and 22700009 of the Japan Society for the Promotion of Science.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Hirokawa, N., Middeldorp, A. & Zankl, H. Uncurrying for Termination and Complexity. J Autom Reasoning 50, 279–315 (2013). https://doi.org/10.1007/s10817-012-9248-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-012-9248-3