Results 1 - 10
of
23
Termination of Term Rewriting Using Dependency Pairs
- Comput. Sci
, 2000
"... We present techniques to prove termination and innermost termination of term rewriting systems automatically. In contrast to previous approaches, we do not compare left- and right-hand sides of rewrite rules, but introduce the notion of dependency pairs to compare left-hand sides with special subter ..."
Abstract
-
Cited by 195 (49 self)
- Add to MetaCart
We present techniques to prove termination and innermost termination of term rewriting systems automatically. In contrast to previous approaches, we do not compare left- and right-hand sides of rewrite rules, but introduce the notion of dependency pairs to compare left-hand sides with special subterms of the right-hand sides. This results in a technique which allows to apply existing methods for automated termination proofs to term rewriting systems where they failed up to now. In particular, there are numerous term rewriting systems where a direct termination proof with simplification orderings is not possible, but in combination with our technique, well-known simplification orderings (such as the recursive path ordering, polynomial orderings, or the Knuth-Bendix ordering) can now be used to prove termination automatically. Unlike previous methods, our technique for proving innermost termination automatically can also be applied to prove innermost termination of term rewriting systems that are not terminating. Moreover, as innermost termination implies termination for certain classes of term rewriting systems, this technique can also be used for termination proofs of such systems.
Termination of Term Rewriting By Semantic Labelling
- FUNDAMENTA INFORMATICAE
, 1995
"... A new kind of transformation of term rewriting systems (TRS) is proposed, depending on a choice for a model for the TRS. The labelled TRS is obtained from the original one by labelling operation symbols, possibly creating extra copies of some rules. This construction has the remarkable property t ..."
Abstract
-
Cited by 82 (13 self)
- Add to MetaCart
A new kind of transformation of term rewriting systems (TRS) is proposed, depending on a choice for a model for the TRS. The labelled TRS is obtained from the original one by labelling operation symbols, possibly creating extra copies of some rules. This construction has the remarkable property that the labelled TRS is terminating if and only if the original TRS is terminating. Although the labelled version has more operation symbols and may have more rules (sometimes infinitely many), termination is often easier to prove for the labelled TRS than for the original one. This provides a new technique for proving termination, making classical techniques like path orders and polynomial interpretations applicable even for non-simplifying TRS's. The requirement of having a model can slightly be weakened, yielding a remarkably simple termination proof of the system SUBST of [11] describing explicit substitution in λ-calculus.
Termination of Nested and Mutually Recursive Algorithms
, 1996
"... This paper deals with automated termination analysis for functional programs. Previously developed methods for automated termination proofs of functional programs often fail for algorithms with nested recursion and they cannot handle algorithms with mutual recursion. We show that termination proofs ..."
Abstract
-
Cited by 38 (9 self)
- Add to MetaCart
This paper deals with automated termination analysis for functional programs. Previously developed methods for automated termination proofs of functional programs often fail for algorithms with nested recursion and they cannot handle algorithms with mutual recursion. We show that termination proofs for nested and mutually recursive algorithms can be performed without having to prove the correctness of the algorithms simultaneously. Using this result, nested and mutually recursive algorithms do no longer constitute a special problem and the existing methods for automated termination analysis can be extended to nested and mutual recursion in a straightforward way. We give some examples of algorithms whose termination can now be proved automatically (including well-known challenge problems such as McCarthy's f_91 function).
Transformation Techniques for Context-Sensitive Rewrite Systems
, 2004
"... Context-sensitive rewriting is a computational restriction of term rewriting used to model non-strict (lazy) evaluation in functional programming. The goal of this paper is the study and development of techniques to analyze the termination behavior of context-sensitive rewrite systems. For that purp ..."
Abstract
-
Cited by 34 (4 self)
- Add to MetaCart
Context-sensitive rewriting is a computational restriction of term rewriting used to model non-strict (lazy) evaluation in functional programming. The goal of this paper is the study and development of techniques to analyze the termination behavior of context-sensitive rewrite systems. For that purpose, several methods have been proposed in the literature which transform context-sensitive rewrite systems into ordinary rewrite systems such that termination of the transformed ordinary system implies termination of the original context-sensitive system. In this way, the huge variety of existing techniques for termination analysis of ordinary rewriting can be used for context-sensitive rewriting, too. We analyze the existing transformation techniques for proving termination of context-sensitive rewriting and we suggest two new transformations. Our first method is simple, sound, and more powerful than the previously proposed transformations. However, it is not complete, i.e., there are terminating context-sensitive rewrite systems that are transformed into non-terminating term rewrite systems. The second method that we present in this paper is both sound and complete. All these observations also hold for rewriting modulo associativity and commutativity.
Complete Monotonic Semantic Path Orderings
- In Proc. 17th CADE, LNAI 1831
, 2000
"... Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in practice, since its monotonicity has to be proved by hand for each concrete term rewrite system (TRS). In this paper we present a monotonic variation of SPO, called MSPO. It characterizes termination ..."
Abstract
-
Cited by 32 (8 self)
- Add to MetaCart
Although theoretically it is very powerful, the semantic path ordering (SPO) is not so useful in practice, since its monotonicity has to be proved by hand for each concrete term rewrite system (TRS). In this paper we present a monotonic variation of SPO, called MSPO. It characterizes termination, i.e., a TRS is terminating if and only if its rules are included in some MSPO. Hence MSPO is a complete termination method. On the practical side, it can be easily automated using as ingredients standard interpretations and general-purpose orderings like RPO. This is shown to be a sufficiently powerful way to handle several non-trivial examples and to obtain methods like dummy elimination or dependency pairs as particular cases. Finally, we obtain some positive modularity results for termination based on MSPO. 1 Introduction Rewrite systems are sets of rules (directed equations) used to compute by repeatedly replacing parts of a given formula with equal ones until the simplest po...
Termination of Context-Sensitive Rewriting
- Proc. of 8th International Conference on Rewriting Techniques and Applications, RTA'97, LNCS 1232:172-186
, 1997
"... Context-sensitive term rewriting is a kind of term rewriting in which reduction is not allowed inside some fixed arguments of some function symbols. We introduce two new techniques for proving termination of context-sensitive rewriting. The first one is a modification of the technique of interpretat ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
Context-sensitive term rewriting is a kind of term rewriting in which reduction is not allowed inside some fixed arguments of some function symbols. We introduce two new techniques for proving termination of context-sensitive rewriting. The first one is a modification of the technique of interpretation in a well-founded order, the second one is implied by a transformation in which context-sensitive termination of the original system can be concluded from termination of the transformed one. In combination with purely automatic techniques for proving ordinary termination, the latter technique is purely automatic too. 1 Introduction The function computing the factorial is usually defined as follows: fact(x) = if(x = 0; 1; x fact(x \Gamma 1)); together with some standard rules like if(true; x; y) = x and if(false; x; y) = y. Considered as a term rewriting system however, the rule fact(x) ! if(x = 0; 1; x fact(x \Gamma 1)) is not terminating. Apparently here general term rewriting doe...
Automatically Proving Termination Where Simplification Orderings Fail
, 1997
"... To prove termination of term rewriting systems (TRSs), several methods have been developed to synthesize suitable well-founded orderings automatically. However, virtually all orderings that are amenable to automation are so-called simplification orderings. Unfortunately, there exist numerous interes ..."
Abstract
-
Cited by 31 (9 self)
- Add to MetaCart
To prove termination of term rewriting systems (TRSs), several methods have been developed to synthesize suitable well-founded orderings automatically. However, virtually all orderings that are amenable to automation are so-called simplification orderings. Unfortunately, there exist numerous interesting and relevant TRSs that cannot be oriented by orderings of this restricted class and therefore their termination cannot be proved automatically with the existing techniques. In this paper we present a new automatic approach which allows to apply the standard techniques for automated termination proofs to those TRSs where these techniques failed up to now. For that purpose we have developed a procedure which, given a TRS, generates a set of inequalities (constraints) automatically. If there exists a well-founded ordering satisfying these constraints, then the TRS is terminating. It turns out that for many TRSs where a direct application of standard techniques fails, these standard techniq...
Termination analysis for functional programs using term orderings
- IN PROCEEDINGS OF THE SECOND INTERNATIONAL STATIC ANALYSIS SYMPOSIUM, LNCS 983
, 1995
"... To prove the termination of a functional program there has to be a well-founded ordering such that the arguments in each recursive call are smaller than the corresponding inputs. In this paper we present a procedure for automated termination proofs of functional programs. In contrast to previously p ..."
Abstract
-
Cited by 31 (12 self)
- Add to MetaCart
To prove the termination of a functional program there has to be a well-founded ordering such that the arguments in each recursive call are smaller than the corresponding inputs. In this paper we present a procedure for automated termination proofs of functional programs. In contrast to previously presented methods a suited well-founded ordering does not have to be fixed in advance by the user, but can be synthesized automatically. For that purpose we use approaches developed in the area of term rewriting systems for the automated generation of suited well-founded term orderings. But unfortunately term orderings cannot be directly used for termination proofs of functional programs which call other algorithms in the arguments of their recursive calls. The reason is that while for the termination of term rewriting systems orderings between terms are needed, for functional programs we need orderings between objects of algebraic data types. Our method solves this problem and enables term orderings to be used for termination proofs of functional programs.
A Collection of Examples for Termination of Term Rewriting Using Dependency Pairs
, 2001
"... This report contains a collection of examples to demonstrate the use and the power of the dependency pair technique developed by Arts and Giesl. This technique allows automated termination and innermost termination proofs for many term rewrite systems for which such proofs were not possible before. ..."
Abstract
-
Cited by 27 (12 self)
- Add to MetaCart
This report contains a collection of examples to demonstrate the use and the power of the dependency pair technique developed by Arts and Giesl. This technique allows automated termination and innermost termination proofs for many term rewrite systems for which such proofs were not possible before.
Proving Innermost Normalisation Automatically
, 1997
"... We present a technique to prove innermost normalisation of term rewriting systems (TRSs) automatically. In contrast to previous methods, our technique is able to prove innermost normalisation of TRSs that are not terminating. Our technique can also be used for termination proofs of all TRSs where in ..."
Abstract
-
Cited by 27 (11 self)
- Add to MetaCart
We present a technique to prove innermost normalisation of term rewriting systems (TRSs) automatically. In contrast to previous methods, our technique is able to prove innermost normalisation of TRSs that are not terminating. Our technique can also be used for termination proofs of all TRSs where innermost normalisation implies termination, such as non-overlapping TRSs or locally confluent overlay systems. In this way, termination of many (also non-simply terminating) TRSs can be verified automatically. 1. Introduction Innermost rewriting, i.e. rewriting where only innermost redexes are contracted, can be used to model call-by-value computation semantics. For that reason, there has been an increasing interest in innermost normalisation (also called innermost termination), i.e. in proving that the length of every innermost reduction is finite. Techniques for proving innermost normalisation can for example be utilized for termination proofs of functional programs (modelled by TRSs) or o...

