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 firstorder 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 simpl ..."
Abstract

Cited by 84 (9 self)
 Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual firstorder 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 nonambiguous (no overlap leading to a critical pair) and leftlinear (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 wellknown confluence proof for λcalculus by Tait and MartinLof. There is a wellknown connection between the para...
Nominal rewriting
 Information and Computation
"... Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting ma ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
Nominal rewriting is based on the observation that if we add support for alphaequivalence to firstorder syntax using the nominalset approach, then systems with binding, including higherorder reduction schemes such as lambdacalculus betareduction, can be smoothly represented. Nominal rewriting maintains a strict distinction between variables of the objectlanguage (atoms) and of the metalanguage (variables or unknowns). Atoms may be bound by a special abstraction operation, but variables cannot be bound, giving the framework a pronounced firstorder character, since substitution of terms for variables is not captureavoiding. We show how good properties of firstorder rewriting survive the extension, by giving an efficient rewriting algorithm, a critical pair lemma, and a confluence theorem
Comparing Combinatory Reduction Systems and HigherOrder Rewrite Systems
, 1993
"... In this paper two formats of higherorder rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higherorder 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 higherorder rewriting are compared: Combinatory Reduction Systems introduced by Klop [Klo80] and Higherorder 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 HigherOrder 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 HigherOrder 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 17 (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 firstorder term rewriting systems (TRSs, [DJ90, Klo92]) and higherorder term r...
Termination and confluence of higherorder rewrite systems
 In Proc. RTA ’00, volume 1833 of LNCS
, 2000
"... Abstract: In the last twenty years, several approaches to higherorder rewriting have been proposed, among which Klop’s Combinatory Rewrite Systems (CRSs), Nipkow’s Higherorder Rewrite Systems (HRSs) and Jouannaud and Okada’s higherorder algebraic specification languages, of which only the last on ..."
Abstract

Cited by 14 (8 self)
 Add to MetaCart
Abstract: In the last twenty years, several approaches to higherorder rewriting have been proposed, among which Klop’s Combinatory Rewrite Systems (CRSs), Nipkow’s Higherorder Rewrite Systems (HRSs) and Jouannaud and Okada’s higherorder 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 higherorder patternmatching mechanism, resulting in simplytyped CRSs. Then, we show how the termination criterion developed for IDTSs with firstorder patternmatching, called the General Schema, can be extended so as to prove the strong normalization of IDTSs with higherorder patternmatching. 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 higherorder critical pair analysis technique for proving local confluence can be applied to IDTSs. 1
Finite Family Developments
"... Associate to a rewrite system R having rules l → r, its labelled version R ω having rules l ◦ m+1 → r • , for any natural number m m ∈ ω. These rules roughly express that a lefthand side l carrying labels all larger than m can be replaced by its righthand side r carrying labels all smaller than o ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
Associate to a rewrite system R having rules l → r, its labelled version R ω having rules l ◦ m+1 → r • , for any natural number m m ∈ ω. These rules roughly express that a lefthand side l carrying labels all larger than m can be replaced by its righthand side r carrying labels all smaller than or equal to m. A rewrite system R enjoys finite family developments (FFD) if R ω is terminating. We show that the class of higher order pattern rewrite systems enjoys FFD, extending earlier results for the lambda calculus and first order term rewrite systems.
Contextsensitive Conditional Expression Reduction Systems
 In Proc. of the International Workshop on Graph Rewriting and Computation, SEGRAGRA'95
, 1995
"... We introduce Contextsensitive 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 Contextsensitive 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 patternmatching definitions. Second, we express several proof and transition systems as CERSs. In particular, we give encodings of Hilbertstyle proof systems, Gentzenstyle sequentcalculi, rewrite systems with rule priorities, and the ßcalculus into CERSs. This last encoding is an (important) example of real contextsensitive 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...
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 standardorder can be simple, e.g., lefttoright or outermostfirst, 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 betareduction 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 λ^CILcalculus. The latter is a basis for an intermediate language being used in a compiler.