Methods for Proving Termination of Rewriting-based Programming Languages by Transformation

Despite the remarkable development of the theory of termination of rewriting, its application to high-level (rewriting-based) programming languages is far from being optimal. This is due to the need for features such as conditional equations and rules, types and subtypes, (possibly programmable) strategies for controlling the execution, matching modulo axioms, and so on, that are used in many programs and tend to place such programs outside the scope of current termination tools. The operational meaning of such features is often formalized in a proof theoretic manner by means of an inference system rather than just by a rewriting relation. The corresponding termination notions can also differ from the standard ones. During the last years we have introduced and implemented different notions and transformation techniques which have been proved useful for proving and disproving termination of such programs by using existing tools for proving termination of (variants of) rewriting. In this paper we provide an overview of our main contributions.

[1]  José Meseguer,et al.  Order-sorted dependency pairs , 2008, PPDP.

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

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

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

[5]  Claude Marché,et al.  Proving Termination of Rewriting with C i ME , 2003 .

[6]  Peter Csaba Ölveczky,et al.  Order-Sorted Termination: The Unsorted Way , 1996, ALP.

[7]  Jürgen Giesl,et al.  Automated Termination Analysis for Haskell: From Term Rewriting to Programming Languages , 2006, RTA.

[8]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[9]  Francisco Durán,et al.  Proving operational termination of membership equational programs , 2008, High. Order Symb. Comput..

[10]  Francisco Durán,et al.  MTT: The Maude Termination Tool (System Description) , 2008, IJCAR.

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

[12]  José Meseguer,et al.  Operational Termination of Membership Equational Programs: the Order-Sorted Way , 2009, WRLA.

[13]  Jürgen Giesl,et al.  Automated Termination Analysis for Logic Programs by Term Rewriting , 2006, LOPSTR.

[14]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[15]  José Meseguer,et al.  Membership algebra as a logical framework for equational specification , 1997, WADT.

[16]  Ulf Nilsson,et al.  Logic, programming and Prolog , 1990 .

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

[18]  Claude Kirchner,et al.  ELAN from a rewriting logic point of view , 2002, Theor. Comput. Sci..

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

[20]  Jan Maluszynski,et al.  Logic, Programming and Prolog (2ed) , 1995 .

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

[22]  Steven Eker Term rewriting with operator evaluation strategies , 1998, WRLA.

[23]  José Meseguer,et al.  General Logics , 2006 .

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

[25]  Nao Hirokawa,et al.  Tyrolean termination tool: Techniques and features , 2007, Inf. Comput..

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

[27]  Jürgen Giesl,et al.  Automatic Termination Proofs in the Dependency Pair Framework , 2006, IJCAR.

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

[29]  José Meseguer,et al.  Initiality, induction, and computability , 1986 .

[30]  Roberto Bruni,et al.  Semantic foundations for generalized rewrite theories , 2006, Theor. Comput. Sci..

[31]  José Meseguer,et al.  Operational termination of conditional term rewriting systems , 2005, Inf. Process. Lett..

[32]  Adam Koprowski TPA: Termination Proved Automatically , 2006, RTA.

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

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