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 well-known in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bis ..."
Abstract
-
Cited by 62 (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 well-known 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 CSN-95: COMPUTER SCIENCE IN THE NETHERLANDS
, 1995
"... In this paper we introduce and study a new lambda-calculus with explicit substitution, lambda-xgc, 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 54 (7 self)
- Add to MetaCart
In this paper we introduce and study a new lambda-calculus with explicit substitution, lambda-xgc, 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 lambda-xgc is a conservative extension which preserves strong normalisation (PSN) of the untyped lambda-calculus. The result is obtained in a modular way by first proving it for garbage-free reduction and then extending to `reductions in garbage'. This provides insight into the counterexample to PSN for lambda-sigma of Melliès (1995); we exploit the abstract nature of lambda-xgc 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 34 (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 oe-calculi (-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, first-order orthogonal term rewriting [8, 19] has quite pleasant confluent extensions to the case where cycles are admitted (term grap...
lambda-calculi 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 Paris-Sud, 91405 Orsay Cede ..."
Abstract
-
Cited by 26 (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 Paris-Sud, 91405 Orsay Cedex, France, fkesner,puelg@lri.fr. Abstract. We study preservation of fi-strong 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 fi-strong normalization of one calculus to that of another one, and apply said technique to reduce preservation of fi-strong normalization of d and dn to that of f , another calculus having no composition operator. Then, preservation of fi-strong 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 fi-reduction 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 fi-reduction 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 first-order 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 higher-order theor...
Functional Back-Ends within the Lambda-Sigma 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 20 (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 lambda-calculus 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 lambda-calculus 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 redex-preserving 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 higher-order rewriting in general, and higher-order 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 symbol-manipulating 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...
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...
Confluence of Extensional and Non-Extensional λ-calculi with Explicit Substitutions
- Theoretical Computer Science
"... This paper studies confluence of extensional and non-extensional -calculi with explicit substitutions, where extensionality is interpreted by j-expansion. For that, we propose a scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. O ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
This paper studies confluence of extensional and non-extensional -calculi with explicit substitutions, where extensionality is interpreted by j-expansion. 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 well-known 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 fi-reduction. The main mechanism used to perform fi-reduction 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...

