Results 1  10
of
31
Equational term graph rewriting
 FUNDAMENTA INFORMATICAE
, 1996
"... We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bis ..."
Abstract

Cited by 71 (8 self)
 Add to MetaCart
We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is wellknown in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the µrule, and translations are given between term graphs and µexpressions. Using these, a proof system is given for µexpressions that is complete for the semantics given by infinite tree unwinding. Next, orthogonal term graph rewrite ...
Preservation of Strong Normalisation in Named Lambda Calculi with Explicit Substitution and Garbage Collection
 IN CSN95: COMPUTER SCIENCE IN THE NETHERLANDS
, 1995
"... In this paper we introduce and study a new lambdacalculus with explicit substitution, lambdaxgc, which has two distinguishing features: first, it retains the use of traditional variable names, specifying terms modulo renaming; this simplifies the reduction system. Second, it includes reduction rul ..."
Abstract

Cited by 65 (7 self)
 Add to MetaCart
In this paper we introduce and study a new lambdacalculus with explicit substitution, lambdaxgc, which has two distinguishing features: first, it retains the use of traditional variable names, specifying terms modulo renaming; this simplifies the reduction system. Second, it includes reduction rules for explicit garbage collection; this simplifies several proofs. We show that lambdaxgc is a conservative extension which preserves strong normalisation (PSN) of the untyped lambdacalculus. The result is obtained in a modular way by first proving it for garbagefree reduction and then extending to `reductions in garbage'. This provides insight into the counterexample to PSN for lambdasigma of Melliès (1995); we exploit the abstract nature of lambdaxgc to show how PSN is in conflict with any reasonable substitution composition rule (except for trivial composition rules of which we mention one). Key words: lambda calculus, explicit substitution, strong normalisation, garbage collection.
Cyclic Lambda Graph Rewriting
 In Proceedings, Ninth Annual IEEE Symposium on Logic in Computer Science
, 1994
"... This paper is concerned with the study of cyclic  graphs. The starting point is to treat a graph as a system of recursion equations involving terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for firstorder term rewriting. Surprisingly, ..."
Abstract

Cited by 35 (2 self)
 Add to MetaCart
This paper is concerned with the study of cyclic  graphs. The starting point is to treat a graph as a system of recursion equations involving terms, and to manipulate such systems in an unrestricted manner, using equational logic, just as is possible for firstorder term rewriting. Surprisingly, now the confluence property breaks down in an essential way. Confluence can be restored by introducing a restraining mechanism on the `copying' operation. This leads to a family of graph calculi, which are inspired by the family of oecalculi (calculi with explicit substitution) . However, these concern acyclic expressions only. In this paper we are not concerned with optimality questions for acyclic reduction. We also indicate how Wadsworth's interpreter can be simulated in the graph rewrite rules that we propose. Introduction As shown in recent years, firstorder orthogonal term rewriting [8, 19] has quite pleasant confluent extensions to the case where cycles are admitted (term grap...
lambdacalculi with explicit substitutions and composition which preserve beta strong normalization (Extended Abstract)
, 1996
"... ) Maria C. F. Ferreira 1 and Delia Kesner 2 and Laurence Puel 2 1 Dep. de Inform'atica, Fac. de Ciencias e Tecnologia, Univ. Nova de Lisboa, Quinta da Torre, 2825 Monte de Caparica, Portugal, cf@fct.unl.pt. 2 CNRS & Lab. de Rech. en Informatique, Bat 490, Univ. de ParisSud, 91405 Orsay Cede ..."
Abstract

Cited by 27 (3 self)
 Add to MetaCart
) Maria C. F. Ferreira 1 and Delia Kesner 2 and Laurence Puel 2 1 Dep. de Inform'atica, Fac. de Ciencias e Tecnologia, Univ. Nova de Lisboa, Quinta da Torre, 2825 Monte de Caparica, Portugal, cf@fct.unl.pt. 2 CNRS & Lab. de Rech. en Informatique, Bat 490, Univ. de ParisSud, 91405 Orsay Cedex, France, fkesner,puelg@lri.fr. Abstract. We study preservation of fistrong normalization by d and dn , two confluent calculi with explicit substitutions defined in [10]; the particularity of these calculi is that both have a composition operator for substitutions. We develop an abstract simulation technique allowing to reduce preservation of fistrong normalization of one calculus to that of another one, and apply said technique to reduce preservation of fistrong normalization of d and dn to that of f , another calculus having no composition operator. Then, preservation of fistrong normalization of f is shown using the same technique as in [2]. As a consequence, d and dn become the fir...
Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus
, 1996
"... Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe calculus of explicit s ..."
Abstract

Cited by 20 (4 self)
 Add to MetaCart
Explicit substitutions calculi are formal systems that implement fireduction by means of an internal substitution operator. In that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. The oe calculus of explicit substitutions, proposed by Abadi, Cardelli, Curien andL evy, is a firstorder rewriting system that implements substitution and renaming mechanism of calculus. However, oe does not preserve strong normalisation of calculus and it is not a confluent system. Typed variants of oe without composition are strongly normalising but not confluent, while variants with composition are confluent but do not preserve strong normalisation. Neither of them enjoys both properties. In this paper we propose the i calculus. This is, as far as we know, the first confluent calculus of explicit substitutions that preserves strong normalisation. 1. Explicit substitutions The calculus is a higherorder theor...
Functional BackEnds within the LambdaSigma Calculus
, 1996
"... We define a weak calculus, oe w , as a subsystem of the full calculus with explicit substitutions oe * . We claim that oe w could be the archetypal output language of functional compilers, just as the calculus is their universal input language. Furthermore, oe * could be the adequate theory to e ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
We define a weak calculus, oe w , as a subsystem of the full calculus with explicit substitutions oe * . We claim that oe w could be the archetypal output language of functional compilers, just as the calculus is their universal input language. Furthermore, oe * could be the adequate theory to establish the correctness of simplified functional compilers. Here, we illustrate these claims by proving the correctness of four simplified compilers and runtime systems modeled as abstract machines. The four machines we prove are the Krivine machine, the SECD, the FAM and the CAM. Thereby, we give the first formal proofs of Cardelli's FAM and of its compiler.
Combinatory Reduction Systems with Explicit Substitution
 REWRITING TECHNIQUES AND APPLICATIONS (RTA), LECTURE NOTES IN COMPUTER SCIENCE
, 1996
"... We generalise the notion of explicit substitution from the lambdacalculus to higher order rewriting, realised by combinatory reduction systems (CRS). In this general framework this is achieved by identifying the "explicit" subclass of CRSs within which rewriting can be implemented efficiently.
Fo ..."
Abstract

Cited by 16 (2 self)
 Add to MetaCart
We generalise the notion of explicit substitution from the lambdacalculus to higher order rewriting, realised by combinatory reduction systems (CRS). In this general framework this is achieved by identifying the "explicit" subclass of CRSs within which rewriting can be implemented efficiently.
For every CRS R we show how to construct an explicit substitution variant, Rx, which is a conservative extension of R (and hence confluent when R is confluent). Furthermore we give a syntactic criterion on the rewrite rules that identifies a large subset of the CRSs, the redexpreserving CRSs, for which we show that Rx preserves strong normalisation of R.
We believe that this is a significant first step towards providing a methodology for reasoning about the operational properties of higherorder rewriting in general, and higherorder program transformations in particular, since confluence ensures correctness of such transformations and preservation of strong normalisation ensures that the transformations are always safe, in both cases independently of the used reduction strategy.
Rewriting Modulo a Rewrite System
, 1995
"... . We introduce rewriting with two sets of rules, the first interpreted equationally and the second not. A semantic view considers equational rules as defining an equational theory and reduction rules as defining a rewrite relation modulo this theory. An operational view considers both sets of rules ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
. We introduce rewriting with two sets of rules, the first interpreted equationally and the second not. A semantic view considers equational rules as defining an equational theory and reduction rules as defining a rewrite relation modulo this theory. An operational view considers both sets of rules as similar. We introduce sufficient properties for these two views to be equivalent (up to different notions of equivalence). The paper ends with a collection of example showing the effectiveness of this approach. Rewriting can be viewed simultaneously as the most basic symbolmanipulating method, and as a very expressive specification framework, given the expressive power of rewriting modulo equations. It is a primary candidate to the role of a general logical framework [Mes92, MOM93]. Historically, rewriting has been given an equational semantics, saying that a rewrite rule u \Gamma! v is interpreted as u is equal to v. This is the case for instance when defining functions or solving the w...
Confluence of Extensional and NonExtensional λcalculi with Explicit Substitutions
 Theoretical Computer Science
"... This paper studies confluence of extensional and nonextensional calculi with explicit substitutions, where extensionality is interpreted by jexpansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. O ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
This paper studies confluence of extensional and nonextensional calculi with explicit substitutions, where extensionality is interpreted by jexpansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our method makes it possible to treat at the same time many wellknown calculi such as oe , oe * , OE , s , AE , f , d and dn . Keywords: functional programming, calculi, explicit substitutions, confluence, extensionality. 1 Introduction The calculus is a convenient framework to study functional programming, where the evaluation process is modeled by fireduction. The main mechanism used to perform fireduction is substitution, which consists of the replacement of formal parameters by actual arguments. The correctness of substitution is guaranteed by a systematic renaming of bound variables, inconvenient which can be simply avoided in the calculus `a la de Bruijn by using natur...
Input/Output for ELAN
, 1996
"... We show how to add Input/Output capabilities to the ELAN rewriting interpreter using a rewrite specification of ßcalculus. This I/O system has the advantage of being totally explicit and fit in the same semantic framework than any other "application program". An actual implementation shows the effe ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We show how to add Input/Output capabilities to the ELAN rewriting interpreter using a rewrite specification of ßcalculus. This I/O system has the advantage of being totally explicit and fit in the same semantic framework than any other "application program". An actual implementation shows the effectiveness of this approach. 1 Introduction Currently available rewrite interpreters (e.g. OBJ3 [GKK + 87], Redux [Bun93], ELAN [KKM95]) offer a nice programming model and are quite efficient, but lack input/output (I/O) capabilities. For other models of computation like functional or logic programming, the typical approach has been to add extra features implementing I/O. But these features do not fit in the nice and simple underlying model : in order to be able to understand or reason about programs involving I/O, the basic computational model has to be extended in non trivial ways, making it not so nice and simple anymore (see for instance [Gor94] about the monadic approach to functional...