Results 1 - 10
of
22
Term Rewriting Systems
, 1992
"... Term Rewriting Systems play an important role in various areas, such as abstract data type specifications, implementations of functional programming languages and automated deduction. In this chapter we introduce several of the basic comcepts and facts for TRS's. Specifically, we discuss Abstract Re ..."
Abstract
-
Cited by 550 (16 self)
- Add to MetaCart
Term Rewriting Systems play an important role in various areas, such as abstract data type specifications, implementations of functional programming languages and automated deduction. In this chapter we introduce several of the basic comcepts and facts for TRS's. Specifically, we discuss Abstract Reduction Systems
PolyP - a polytypic programming language extension
- POPL '97: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
, 1997
"... Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, debuggers, equality fu ..."
Abstract
-
Cited by 161 (27 self)
- Add to MetaCart
Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, debuggers, equality functions, unifiers, pattern matchers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of user-defined datatypes. This paper extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks definitions of polytypic functions, and infers the types of all other expressions using an extension of Jones ' theories of qualified types and higher-order polymorphism. The semantics of the programs in the extended language is obtained by adding type arguments to functions in a dictionary passing style. Programs in the extended language are translated to Haskell. 1
Generalized Sufficient Conditions for Modular Termination of Rewriting
- IN ENGINEERING, COMMUNICATION AND COMPUTING
, 1992
"... Modular properties of term rewriting systems, i.e. properties which are preserved under disjoint unions, have attracted an increasing attention within the last few years. Whereas confluence is modular this does not hold true in general for termination. By means of a careful analysis of potential cou ..."
Abstract
-
Cited by 49 (7 self)
- Add to MetaCart
Modular properties of term rewriting systems, i.e. properties which are preserved under disjoint unions, have attracted an increasing attention within the last few years. Whereas confluence is modular this does not hold true in general for termination. By means of a careful analysis of potential counterexamples we prove the following abstract result. Whenever the disjoint union R1 \Phi R2 of two (finitely branching) terminating term rewriting systems R1 , R2 is non-terminating, then one of the systems, say R1 , enjoys an interesting (undecidable) property, namely it is not termination preserving under non-deterministic collapses, i.e. R1 \Phi fG(x; y) ! x; G(x; y) ! yg is non-terminating, and the other system R2 is collapsing, i.e. contains a rule with a variable right hand side. This result generalizes known sufficient criteria for modular termination of rewriting and provides the basis for a couple of derived modularity results. Furthermore, we prove that the minimal rank of pote...
Generating Polynomial Orderings for Termination Proofs
- In Proc. 6th RTA, LNCS 914
, 1995
"... Most systems for the automation of termination proofs using polynomial orderings are only semi-automatic, i.e. the "right" polynomial ordering has to be given by the user. We show that a variation of Lankford's partial derivative technique leads to an easier and slightly more powerful method than mo ..."
Abstract
-
Cited by 46 (22 self)
- Add to MetaCart
Most systems for the automation of termination proofs using polynomial orderings are only semi-automatic, i.e. the "right" polynomial ordering has to be given by the user. We show that a variation of Lankford's partial derivative technique leads to an easier and slightly more powerful method than most other semi-automatic approaches. Based on this technique we develop a method for the automated synthesis of a suited polynomial ordering.
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.
On the Modularity of Termination of Term Rewriting Systems
- Theoretical Computer Science
, 1993
"... It is well-known that termination is not a modular property of term rewriting systems, i.e., it is not preserved under disjoint union. The objective of this paper is to provide a "uniform framework" for sufficient conditions which ensure the modularity of termination. We will prove the following res ..."
Abstract
-
Cited by 29 (3 self)
- Add to MetaCart
It is well-known that termination is not a modular property of term rewriting systems, i.e., it is not preserved under disjoint union. The objective of this paper is to provide a "uniform framework" for sufficient conditions which ensure the modularity of termination. We will prove the following result. Whenever the disjoint union of two terminating term rewriting systems is non-terminating, then one of the systems is not C E -terminating (i.e., it looses its termination property when extended with the rules Cons(x; y) ! x and Cons(x; y) ! y) and the other is collapsing. This result has already been achieved by Gramlich [7] for finitely branching term rewriting systems. A more sophisticated approach is necessary, however, to prove it in full generality. Most of the known sufficient criteria for the preservation of termination [24, 15, 13, 7] follow as corollaries from our result, and new criteria are derived. This paper particularly settles the open question whether simple termination ...
Explicit Substitution: on the Edge of Strong Normalization
- Theoretical Computer Science
, 1997
"... We use the Recursive Path Ordering (RPO) technique of semantic labelling to show the Preservation of Strong Normalization (PSN) property for several calculi of explicit substitution. Preservation of Strong Normalization states that if a term M is strongly normalizing under ordinary fi-reduction (us ..."
Abstract
-
Cited by 28 (2 self)
- Add to MetaCart
We use the Recursive Path Ordering (RPO) technique of semantic labelling to show the Preservation of Strong Normalization (PSN) property for several calculi of explicit substitution. Preservation of Strong Normalization states that if a term M is strongly normalizing under ordinary fi-reduction (using `global' substitutions), then it is strongly normalizing if the substitution is made explicit (`local'). There are different ways of making global substitution explicit and PSN is a quite natural and desirable property for the explicit substitution calculus. Our method for proving PSN is very general and applies to several known systems of explicit substitutions, both with named variables and with De Bruijn indices: AE of Lescanne et al., s of Kamareddine and R'ios and x of Rose and Bloo. We also look at two small extensions of the explicit substitution calculus that allow to permute substitutions. For one of these extensions PSN fails (using the counterexample in [Melli`es 95]). For the...
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...
Simple Termination of Rewrite Systems
- Theoretical Computer Science
, 1997
"... In this paper we investigate the concept of simple termination. A term rewriting system is called simply terminating if its termination can be proved by means of a simplification order. The basic ingredient of a simplification order is the subterm property, but in the literature two different defini ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
In this paper we investigate the concept of simple termination. A term rewriting system is called simply terminating if its termination can be proved by means of a simplification order. The basic ingredient of a simplification order is the subterm property, but in the literature two different definitions are given: one based on (strict) partial orders and another one based on preorders (or quasi-orders). We argue that there is no reason to choose the second one, while the first one has certain advantages. Simplification orders are known to be well-founded orders on terms over a finite signature. This important result no longer holds if we consider infinite signatures. Nevertheless, well-known simplification orders like the recursive path order are also well-founded on terms over infinite signatures, provided the underlying precedence is well-founded. We propose a new definition of simplification order, which coincides with the old one (based on partial orders) in case of finite signatu...

