Proving termination of context-sensitive rewriting by transformation

Context-sensitive rewriting (CSR) is a restriction of rewriting that forbids reductions on selected arguments of functions. With CSR, we can achieve a terminating behavior with non-terminating term rewriting systems, by pruning (all) infinite rewrite sequences. Proving termination of CSR has been recently recognized as an interesting problem with several applications in the fields of term rewriting and programming languages. Several methods have been developed for proving termination of CSR. Specifically, a number of transformations that permit treating this problem as a standard termination problem have been described. The main goal of this paper is to contribute to a better comprehension and practical use of transformations for proving termination of CSR. We provide new completeness results regarding the use of the transformations in two restricted (but relevant) settings: (a) proofs of termination of canonical CSR and (b) proofs of termination of CSR by using transformations together with simplification orderings. We have also made an experimental evaluation of the transformations, which complements the theoretical analysis from a practical point of view. This leads to new hierarchies of the transformations which are useful to guide their practical use when implementing tools for proving termination of CSR.

[1]  Aart Middeldorp Call by need computations to root-stable form , 1997, POPL '97.

[2]  Salvador Lucas,et al.  Simple termination of context-sensitive rewriting , 2002, RULE '02.

[3]  Maria C. F. Ferreira,et al.  Context-Sensitive AC-Rewriting , 1999, RTA.

[4]  Salvador Lucas,et al.  Polynomials for Proving Termination of Context-Sensitive Rewriting , 2004, FoSSaCS.

[5]  Marko C. J. D. van Eekelen,et al.  Concurrent Clean , 1991, PARLE.

[6]  Bernhard Gramlich,et al.  Generalized sufficient conditions for modular termination of rewriting , 1992, Applicable Algebra in Engineering, Communication and Computing.

[7]  Terese Term rewriting systems , 2003, Cambridge tracts in theoretical computer science.

[8]  Nao Hirokawa,et al.  Dependency Pairs Revisited , 2004, RTA.

[9]  Salvador Lucas Termination of Rewriting With Strategy Annotations , 2001, LPAR.

[10]  H. Brown,et al.  Computational Problems in Abstract Algebra , 1971 .

[11]  Enno Ohlebusch,et al.  Advanced Topics in Term Rewriting , 2002, Springer New York.

[12]  Salvador Lucas,et al.  Polynomials over the reals in proofs of termination: from theory to practice , 2005, RAIRO Theor. Informatics Appl..

[13]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[14]  Salvador Lucas,et al.  Modular termination of context-sensitive rewriting , 2002, PPDP '02.

[15]  Nachum Dershowitz,et al.  A Note on Simplification Orderings , 1979, Inf. Process. Lett..

[16]  Jürgen Giesl,et al.  Termination of term rewriting using dependency pairs , 2000, Theor. Comput. Sci..

[17]  Ataru T. Nakagawa,et al.  An overview of CAFE specification environment-an algebraic approach for creating, verifying, and maintaining formal specifications over networks , 1997, First IEEE International Conference on Formal Engineering Methods.

[18]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[19]  Hélène Kirchner,et al.  Simplification and termination of strategies in rule-based languages , 2003, PPDP '03.

[20]  Salvador Lucas,et al.  Improving On-Demand Strategy Annotations , 2002, LPAR.

[21]  Roberto Bruni,et al.  Generalized Rewrite Theories , 2003, ICALP.

[22]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[23]  Salvador Lucas,et al.  Termination of Context-Sensitive Rewriting by Rewriting , 1996, ICALP.

[24]  Nachum Dershowitz,et al.  Orderings for term-rewriting systems , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[25]  Jürgen Giesl,et al.  Transforming Context-Sensitive Rewrite Systems , 1999, RTA.

[26]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[27]  Salvador Lucas,et al.  mu-term: A Tool for Proving Termination of Context-Sensitive Rewriting , 2004, RTA.

[28]  Enno Ohlebusch,et al.  Modular Termination Proofs for Rewriting Using Dependency Pairs , 2002, J. Symb. Comput..

[29]  Salvador Lucas,et al.  Termination of on-demand rewriting and termination of OBJ programs , 2001, PPDP '01.

[30]  Wan Fokkink,et al.  Lazy rewriting on eager machinery , 2000, TOPL.

[31]  Jan Willem Klop,et al.  Transfinite Reductions in Orthogonal Term Rewriting Systems , 1995, Inf. Comput..

[32]  José Meseguer,et al.  Specification and proof in membership equational logic , 2000, Theor. Comput. Sci..

[33]  Jan van Leeuwen,et al.  Handbook of Theoretical Computer Science, Vol. B: Formal Models and Semantics , 1994 .

[34]  Joseph A. Goguen,et al.  Software Engineering with Obj: Algebraic Specification In Action , 2010 .

[35]  Paul Hudak,et al.  A gentle introduction to Haskell , 1992, SIGP.

[36]  Nachum Dershowitz,et al.  Rewrite, Rewrite, Rewrite, Rewrite, Rewrite, . . , 1991, Theor. Comput. Sci..

[37]  Salvador Lucas,et al.  Correct and Complete (Positive) Strategy Annotations for OBJ , 2002, Electron. Notes Theor. Comput. Sci..

[38]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[39]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[40]  Joachim Steinbach,et al.  Simplification Orderings: Histrory of Results , 1995, Fundam. Informaticae.

[41]  Salvador Lucas,et al.  Context-sensitive Computations in Functional and Functional Logic Programs , 1998, J. Funct. Log. Program..

[42]  Vincent van Oostrom,et al.  Meaningless Terms in Rewriting , 1996, J. Funct. Log. Program..

[43]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[44]  Nachum Dershowitz,et al.  Termination of Rewriting , 1987, J. Symb. Comput..

[45]  Salvador Lucas,et al.  Recursive Path Orderings Can Be Context-Sensitive , 2002, CADE.

[46]  Salvador Lucas Context-sensitive rewriting strategies , 2002 .

[47]  Salvador Lucas,et al.  Termination of programs with strategy annotations , 2003 .

[48]  Bernhard Gramlich,et al.  Simple termination is difficult , 1993, Applicable Algebra in Engineering, Communication and Computing.

[49]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[50]  Hans Zantema,et al.  Termination of Context-Sensitive Rewriting , 1997, RTA.

[51]  Nao Hirokawa,et al.  Tyrolean Termination Tool , 2005, RTA.

[52]  Francisco Durán,et al.  Proving termination of membership equational programs , 2004, PEPM '04.

[53]  Mirtha-Lina Fernández Relaxing monotonicity for innermost termination , 2005 .

[54]  Jürgen Giesl,et al.  The Dependency Pair Framework: Combining Techniques for Automated Termination Proofs , 2005, LPAR.

[55]  Jürgen Giesl,et al.  Transformation techniques for context-sensitive rewrite systems , 2004, J. Funct. Program..

[56]  Francisco Durán,et al.  New Evaluation Commands for Maude Within Full Maude , 2004, WRLA.

[57]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[58]  Jürgen Giesl,et al.  Automated Termination Proofs with AProVE , 2004, RTA.

[59]  Johannes Waldmann Matchbox: A Tool for Match-Bounded String Rewriting , 2004, RTA.

[60]  Salvador Lucas Lazy Rewriting and Context-Sensitive Rewriting , 2002, Electron. Notes Theor. Comput. Sci..

[61]  Nao Hirokawa,et al.  Polynomial Interpretations with Negative Coefficients , 2004, AISC.

[62]  Raúl Gutiérrez,et al.  Proving Termination of Context-Sensitive Rewriting with MU-TERM , 2007, PROLE.