Results 1 - 10
of
12
Combinatory Reduction Systems: introduction and survey
- Theoretical Computer Science
, 1993
"... Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simpli ..."
Abstract
-
Cited by 75 (9 self)
- Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are non-ambiguous (no overlap leading to a critical pair) and left-linear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power, and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the well-known confluence proof for -calculus by Tait and Martin-Lof. There is a well-known connection between the para...
Comparing Combinatory Reduction Systems and Higher-Order Rewrite Systems
, 1993
"... In this paper two formats of higher-order rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higher-order Rewrite Systems defined by Nipkow [Nipa]. Although it always has been obvious that both formats are closely related to each other, up to now the exact relations ..."
Abstract
-
Cited by 18 (3 self)
- Add to MetaCart
In this paper two formats of higher-order rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higher-order Rewrite Systems defined by Nipkow [Nipa]. Although it always has been obvious that both formats are closely related to each other, up to now the exact relationship between them has not been clear. This was an unsatisfying situation since it meant that proofs for much related frameworks were given twice. We present two translations, one from Combinatory Reduction Systems into Higher-Order Rewrite Systems and one vice versa, based on a detailed comparison of both formats. Since the translations are very `neat' in the sense that the rewrite relation is preserved and (almost) reflected, we can conclude that as far as rewrite theory is concerned, Combinatory Reduction Systems and Higher-Order Rewrite Systems are equivalent, the only difference being that Combinatory Reduction Systems employ a more `lazy' evaluation strategy. Moreover, due to this result...
Developing Developments
, 1994
"... Confluence of orthogonal rewriting systems can be proved using the Finite Developments Theorem. We present, in a general setting, several adaptations of this proof method for obtaining confluence of `not quite' orthogonal systems. 1. Introduction Rewriting as studied here is based on the analogy ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
Confluence of orthogonal rewriting systems can be proved using the Finite Developments Theorem. We present, in a general setting, several adaptations of this proof method for obtaining confluence of `not quite' orthogonal systems. 1. Introduction Rewriting as studied here is based on the analogy: rewriting = substitution + rules. This analogy is useful since it enables a clearcut distinction between the `designer' defined substition process, i.e. management of resources, and the `user' defined rewrite rules, of rewriting systems. For example, application of the `user' defined term rewriting rule 2 \Theta x ! x + x to the term 2 \Theta 3 gives rise to the duplication of the term 3 in the result 3 + 3. How this duplication is actually performed (for example, using sharing) depends on the `designer's' implementation of substitution. This decomposition has been shown useful in [OR94, Oos94] in the case of first-order term rewriting systems (TRSs, [DJ90, Klo92]) and higher-order term r...
Nominal rewriting
- Information and Computation
"... Nominal rewriting is based on the observation that if we add support for alphaequivalence to first-order syntax using the nominal-set approach, then systems with binding, including higher-order reduction schemes such as lambda-calculus betareduction, can be smoothly represented. Nominal rewriting ma ..."
Abstract
-
Cited by 15 (6 self)
- Add to MetaCart
Nominal rewriting is based on the observation that if we add support for alphaequivalence to first-order syntax using the nominal-set approach, then systems with binding, including higher-order reduction schemes such as lambda-calculus betareduction, can be smoothly represented. Nominal rewriting maintains a strict distinction between variables of the objectlanguage (atoms) and of the meta-language (variables or unknowns). Atoms may be bound by a special abstraction operation, but variables cannot be bound, giving the framework a pronounced first-order character, since substitution of terms for variables is not capture-avoiding. We show how good properties of first-order rewriting survive the extension, by giving an efficient rewriting algorithm, a critical pair lemma, and a confluence theorem
Context-sensitive Conditional Expression Reduction Systems
- In Proc. of the International Workshop on Graph Rewriting and Computation, SEGRAGRA'95
, 1995
"... We introduce Context-sensitive Conditional Expression Reduction Systems (CERS) by extending and generalizing the notion of conditional TRS to the higher order case. We justify our framework in two ways. First, we define orthogonality for CERSs and show that the usual results for orthogonal systems ..."
Abstract
-
Cited by 12 (4 self)
- Add to MetaCart
We introduce Context-sensitive Conditional Expression Reduction Systems (CERS) by extending and generalizing the notion of conditional TRS to the higher order case. We justify our framework in two ways. First, we define orthogonality for CERSs and show that the usual results for orthogonal systems (finiteness of developments, confluence, permutation equivalence) carry over immediately. This can be used e.g. to infer confluence from the subject reduction property in several typed -calculi possibly enriched with pattern-matching definitions. Second, we express several proof and transition systems as CERSs. In particular, we give encodings of Hilbert-style proof systems, Gentzen-style sequent-calculi, rewrite systems with rule priorities, and the ß-calculus into CERSs. This last encoding is an (important) example of real context-sensitive rewriting. 1 Introduction A term rewriting system is a pair consisting of an alphabet and a set of rewrite rules. The alphabet is used freely to gene...
Finite Family Developments
, 1997
"... Consider Adam and Eve. Count generations starting from them. Supposing that there will always be people, then it's true that for any generation X, eventually there will be people belonging to the next generation X + 1. In this paper the same result is established for the class of higher order pat ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
Consider Adam and Eve. Count generations starting from them. Supposing that there will always be people, then it's true that for any generation X, eventually there will be people belonging to the next generation X + 1. In this paper the same result is established for the class of higher order pattern rewriting systems. 1 Introduction Consider a set of structures and a set of transformations on them specifying how a structure may be transformed into another one. Suppose the transformations are of the following form: first a structure is decomposed into substructures, next some substructure is replaced by another one, and finally the substructures are composed into a structure again. (destroy) The parts of the initial structure eliminated in the course of the transformation (i.e. the parts of the replaced substructure as well as the parts eliminated in the initial decomposition) can be thought of as being destroyed . (create) The parts of the final structure introduced in the cou...
Termination and confluence of higher-order rewrite systems
- In Proc. RTA ’00, volume 1833 of LNCS
, 2000
"... Abstract: In the last twenty years, several approaches to higher-order rewriting have been proposed, among which Klop’s Combinatory Rewrite Systems (CRSs), Nipkow’s Higher-order Rewrite Systems (HRSs) and Jouannaud and Okada’s higher-order algebraic specification languages, of which only the last on ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
Abstract: In the last twenty years, several approaches to higher-order rewriting have been proposed, among which Klop’s Combinatory Rewrite Systems (CRSs), Nipkow’s Higher-order Rewrite Systems (HRSs) and Jouannaud and Okada’s higher-order algebraic specification languages, of which only the last one considers typed terms. The later approach has been extended by Jouannaud, Okada and the present author into Inductive Data Type Systems (IDTSs). In this paper, we extend IDTSs with the CRS higher-order pattern-matching mechanism, resulting in simply-typed CRSs. Then, we show how the termination criterion developed for IDTSs with first-order pattern-matching, called the General Schema, can be extended so as to prove the strong normalization of IDTSs with higher-order pattern-matching. Next, we compare the unified approach with HRSs. We first prove that the extended General Schema can also be applied to HRSs. Second, we show how Nipkow’s higher-order critical pair analysis technique for proving local confluence can be applied to IDTSs. 1
Standardization and Evaluation in Combinatory Reduction Systems
, 2000
"... A rewrite system has standardization i for any rewrite sequence there is an equivalent one which contracts the redexes in a standard order. Standardization is extremely useful for finding normalizing strategies and proving that a rewrite system for a programming language is sound with respect to the ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
A rewrite system has standardization i for any rewrite sequence there is an equivalent one which contracts the redexes in a standard order. Standardization is extremely useful for finding normalizing strategies and proving that a rewrite system for a programming language is sound with respect to the language's operational semantics. Although for some rewrite systems the standard-order can be simple, e.g., left-to-right or outermost-first, many systems need a more delicate order. There are abstract notions of standard order which always apply, but proofs (often quite dicult) are required that the rewrite system satis es a number of axioms and not much guidance is provided for finding a concrete order that satisfies the abstract definition. This paper gives a framework based on combinatory reduction systems (CRS's) which is general enough to handle many programming languages. If the CRS is orthogonal and fully extended and a good redex ordering can be found, then a standard order is obtain...
On the Confluence of λ-Calculus with Conditional Rewriting
"... The confluence of untyped #-calculus with unconditional rewriting has already been studied in various directions. In this paper, we investigate the confluence of #-calculus with conditional rewriting and provide general results in two directions. First, when conditional rules are algebraic. This ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
The confluence of untyped #-calculus with unconditional rewriting has already been studied in various directions. In this paper, we investigate the confluence of #-calculus with conditional rewriting and provide general results in two directions. First, when conditional rules are algebraic. This extends results of Muller and Dougherty for unconditional rewriting. Two cases are considered, whether beta-reduction is allowed or not in the evaluation of conditions. Moreover, Dougherty's result is improved from the assumption of strongly normalizing #-reduction to weakly normalizing #-reduction. We also provide examples showing that outside these conditions, modularity of confluence is di#cult to achieve.
Two Applications of Standardization and Evaluation in Combinatory Reduction Systems
, 2000
"... We present two worked applications of a general framework that can be used to support reasoning about the operational equality relation defined by a programming language semantics. The framework, based on Combinatory Reduction Systems, facilitates the proof of standardization theorems for programmin ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We present two worked applications of a general framework that can be used to support reasoning about the operational equality relation defined by a programming language semantics. The framework, based on Combinatory Reduction Systems, facilitates the proof of standardization theorems for programming calculi. The importance of standardization theorems to programming language semantics was shown by Plotkin [Plo75]: standardization together with confluence guarantee that two terms equated in the calculus are semantically equal. We apply the framework to the λ_ν-calculus and to an untyped version of the λ^CIL-calculus. The latter is a basis for an intermediate language being used in a compiler.

