Local Termination: theory and practice

The characterisation of termination using well-founded monotone algebras has been a milestone on the way to automated termination techniques, of which we have seen an extensive development over the past years. Both the semantic characterisation and most known termination methods are concerned with global termination, uniformly of all the terms of a term rewriting system (TRS). In this paper we consider local termination, of specific sets of terms within a given TRS. The principal goal of this paper is generalising the semantic characterisation of global termination to local termination. This is made possible by admitting the well-founded monotone algebras to be partial. We also extend our approach to local relative termination. The interest in local termination naturally arises in program verification, where one is probably interested only in sensible inputs, or just wants to characterise the set of inputs for which a program terminates. Local termination will be also be of interest when dealing with a specific class of terms within a TRS that is known to be non-terminating, such as combinatory logic (CL) or a TRS encoding recursive program schemes or Turing machines. We show how some of the well-known techniques for proving global termination, such as stepwise removal of rewrite rules and semantic labelling, can be adapted to the local case. We also describe transformations reducing local to global termination problems. The resulting techniques for proving local termination have in some cases already been automated. One of our applications concerns the characterisation of the terminating S-terms in CL as regular language. Previously this language had already been found via a tedious analysis of the reduction behaviour of S-terms. These findings have now been vindicated by a fully automated and verified proof.

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

[2]  Raymond M. Smullyan,et al.  To Mock a Mockingbird , 1985 .

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

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

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

[6]  Efstathios Zachos Kombinatorische Logik und S-Terme , 1978 .

[7]  Hans Zantema Termination of String Rewriting Proved Automatically , 2005, Journal of Automated Reasoning.

[8]  Manfred Schmidt-Schauß,et al.  TEA: Automatically Proving Termination of Programs in a Non-strict Higher-Order Functional Language , 1997, SAS.

[9]  René Thiemann,et al.  Certification of Termination Proofs Using CeTA , 2009, TPHOLs.

[10]  Hans Zantema,et al.  Termination of Term Rewriting: Interpretation and Type Elimination , 1994, J. Symb. Comput..

[11]  Hans Zantema,et al.  Matrix Interpretations for Proving Termination of Term Rewriting , 2006, Journal of Automated Reasoning.

[12]  Dieter Hofbauer,et al.  Match-Bounded String Rewriting Systems , 2003, Applicable Algebra in Engineering, Communication and Computing.

[13]  Jörg Endrullis,et al.  Local Termination , 2009, RTA.

[14]  Hubert Comon,et al.  Tree automata techniques and applications , 1997 .

[15]  Haskell B. Curry Grundlagen der kombinatorischen Logik , 1930 .

[16]  A Adam Koprowski,et al.  Termination of rewriting and its certification , 2004 .

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

[18]  Nachum Dershowitz Termination of Linear Rewriting Systems (Preliminary Version) , 1981, ICALP.

[19]  Hans Zantema,et al.  A Transformational Approach to Prove Outermost Termination Automatically , 2009, Electron. Notes Theor. Comput. Sci..

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

[21]  Aart Middeldorp,et al.  Tyrolean Termination Tool 2 , 2009, RTA.

[22]  Hans Zantema,et al.  Termination of Term Rewriting by Semantic Labelling , 1995, Fundam. Informaticae.

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

[24]  Jan Willem Klop,et al.  Proving Infinitary Normalization , 2009, TYPES.

[25]  Johannes Waldmann,et al.  The Combinator S , 2000, Inf. Comput..

[26]  Nachum Dershowitz Orderings for Term-Rewriting Systems , 1979, FOCS.

[27]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .