| Mart'in Abadi, Luca Cardelli, P.-L. Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991. |
....a consequence of using a proof technique based on denotational semantics. Many other attempts for call by need have been presented. To our knowledge, all of them are quite implementation oriented such that they suffer from low level details. We note the approaches based on explicit substitutions [PS92, ACCL91] and on graph reduction [Jef94] Structure of the Paper. As a first example we discuss the square function in a concurrent setting. We define ffi 0 in Section 3. We then introduce the notion of uniform confluence and discuss its relationship to complexity and confluence. In Section 5, we prove ....
....2 The number of F and T steps in computations of y 3 =nM is bounded by 3 times the number of A steps. This can be proved with a simulation for an amortised cost analysis. 9 14 Proof of Lemma 13.1 Our idea for defining a shorting simulation is to make substitutions explicit as in [Mil92, ACCL91] and to reflect lazy control by a notion of needed variables. Explicit substitutions are already introduced in the definition of let y=M in N . For defining needed variables, we write for the sequence ( j ) i Gamma1 j=1 , if = j ) j=1 is a sequence of variables or expressions. ....
Mart'in Abadi, Luca Cardelli, P.-L. Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....a consequence of using a proof technique based on denotational semantics. Many other attempts for call by need have been presented. To our knowledge, all of them are quite implementation oriented such that they suffer from low level details. We note the approaches based on explicit substitutions [PS92, ACCL91] and on graph reduction [Jef94] Structure of the Report. As a first example we discuss the square function in a concurrent setting. We define ffi 0 in Section 3. We then introduce the notion of uniform confluence and discuss its relationship to complexity and confluence. In Section 5, we prove ....
....from Theorem 12.2 and Proposition 12.4. 2 13 Notation We need several notations for defining simulations and proving them correct. We introduce notations for explicit substitutions, sequences, and specialised reduction relations. We use the following notation for explicit substitutions ([Mil92, ACCL91]) If y = y i ) and L = L i ) i=1 , then let y=L in L represents a term: let y=L in L 0 def j L [L n =y n ] L 1 =y 1 ] We will freely make use of some further sequent notation. If furthermore x = x i ) t = t i ) i=1 , z = z i ) i=1 , and E = E i ) i=1 , then we ....
Mart'in Abadi, Luca Cardelli, P.-L. Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....where substitutions are meta theoretic operations. This has led to the development of a variety of calculi of explicit substitutions. The canoni1 L. J. of the IGPL, Vol. 0 No. 0, pp. 1 28 0000 c Oxford University Press cal calculus of explicit substitutions is the calculus of Abadi et al. [1] whose essence may be summarised as follows: Expressions: A new syntactic category of explicit substitutions is added to the calculus to represent the environments in which terms are evaluated. There are new typing rules for constructing explicit substitutions and for applying such ....
.... machines are based on calculi of explicit substitutions, we want to base our abstract linear machines on a linear calculus of explicit substitutions which conforms to the principles outlined above and elsewhere [20] Our proposed calculus is based upon the explicit substitutions of Abadi et al. [1] and the linear calculus DILL [3] hence we name our calculus xDILL. The distinction in DILL between intuitionistic and linear variables is re ected in xDILL by the existence of two kinds of explicit substitutions, one for linear variables and one for intuitionistic variables. This distinction ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques Levy. Explicit substitutions. Journal of Functional Programming, 1(4):375-416, 1991.
....operations. This has led to the development of a variety of calculi of explicit substitutions. The canoni1 L. J. of the IGPL, Vol. 0 No. 0, pp. 1 28 0000 c fl Oxford University Press 2 Linear Explicit Substitutions cal calculus of explicit substitutions is the oe calculus of Abadi et al. [1] whose essence may be summarised as follows: ffl Expressions: A new syntactic category of explicit substitutions is added to the calculus to represent the environments in which terms are evaluated. There are new typing rules for constructing explicit substitutions and for applying such ....
.... machines are based on calculi of explicit substitutions, we want to base our abstract linear machines on a linear calculus of explicit substitutions which conforms to the principles outlined above and elsewhere [20] Our proposed calculus is based upon the explicit substitutions of Abadi et al. [1] and the linear calculus DILL [3] hence we name our calculus xDILL. The distinction in DILL between intuitionistic and linear variables is reflected in xDILL by the existence of two kinds of explicit substitutions, one for linear variables and one for intuitionistic Linear Explicit ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....judgements. We show the equivalence between these variants, which is crucial in establishing the correspondence between the semantics of the calculus and its implementations. 1 Introduction Explicit substitution calculi (or oe calculi for short) first appeared in a seminal paper by Abadi et al. [1]. The basic idea is that instead of having substitutions as a meta level operation, as in traditional calculus, we should make them part of the object level calculus. The advantages of this approach are twofold. Firstly, it makes it possible to design much more efficient abstract machines as we ....
....3) This is because we want to connect the implementation, which is based on the second approach, with the semantics, which is based on the first approach. 1. 2 Typed versus untyped calculi There are typed and untyped calculi with explicit substitutions, both of which are presented already in [1]. The typing rules enforce two different restrictions: firstly, they eliminate expressions with misuse of variables, e.g. ones where we try to substitute two different terms for the same variable simultaneously. Secondly, they ensure that the only well typed terms are the ones of the ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....are well suited for implementations but very difficult to read for humans. We also sketch applications of this work to the design of abstract machines and theorem proving. 1 Introduction Explicit substitution calculi (or oe calculi for short) first appeared in a seminal paper by Abadi et al. ACCL91] The basic idea is that instead of having substitutions as a meta level operation, as in traditional calculus, we should make them part of the object level calculus. The advantages of this approach are twofold. Firstly, it makes it possible to design much more efficient abstract machines as we ....
....3) This is because we want to connect the implementation, which is based on the second approach, with the semantics, which is based on the first approach. 1. 2 Typed versus untyped calculi There are typed and untyped calculi with explicit substitutions, both of which are presented already in [ACCL91] The typing rules enforce two different restrictions: firstly, they eliminate expressions with misuse of variables, e.g. ones where we try to substitute two different terms for the same variable simultaneously. Secondly, they ensure that the only well typed terms are the ones of the ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and JeanJaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....into accessing the component in the environment corresponding to x. As a consequence the correspondence between calculus and the implementations becomes highly nontrivial. This complicates reasoning about implementations significantly. As a way of making this reasoning easier, Abadi et al. [1] define the oe calculus, which incorporates substitutions explicitly into the calculus. For this purpose they introduce an extra syntactic category of substitutions, which consists essentially of a list of pairs hM i =x i i, where x i is a variable and M i a term. To distinguish the explicit ....
....by eliminating explicit substitutions; 4. the oe calculus preserves strong normalisation, i.e. any fi strongly normalising term is also a strongly normalising oe term. The last property will be abbreviated by PSN in the sequel, and we will write also SN for strongly normalising. Abadi et al. [1] show the confluence without meta variables and the second and third property for the oe calculus. Curien et al. 5] show that the oe calculus is not confluent if meta variables are added. Terms with meta variables are often called open terms, and hence confluence a calculus with meta variables ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....variety of calculi of explicit substitutions. The canonical calculus of explicit substitutions is University of Birmingham, School of Computer Science. Research funded by EPSRCgrant GR L28296 under the title The eXplicit Substitution Linear Abstract Machine . the oe calculus of Abadi et al. [1] whose essence may be summarised as follows: ffl Expressions: A new syntactic category of explicit substitutions is added to the calculus to represent the environments in which terms are evaluated. There are new typing rules for constructing explicit substitutions and for applying such ....
.... machines are based on calculi of explicit substitutions, we want to base our abstract linear machines on a linear calculus of explicit substitutions which conforms to the principles outlined above and elsewhere [18] Our proposed calculus is based upon the explicit substitutions of Abadi et al. [1] and the linear calculus DILL [3] hence we name our calculus xDILL. The distinction in DILL between intuitionistic and linear variables is reflected in xDILL by the existence of two kinds of explicit substitutions, one for linear variables and one for intuitionistic variables. This ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....This is highly inefficient as each redex in u may be copied arbitrarily. Thus implementations usually evaluate terms in an environment and the contraction of a fi redex creates a new substitution which is added to the existing environment. In order to faithfully model implementations, Abadi et al. [1] proposed to make substitution part of the calculus. In this way they obtain a calculus with explicit substitution, the so called oe calculus, which has additional reduction rules corresponding to the inductive definition of reduction in the calculus. The fi reduction of the calculus is ....
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
....categories cannot be used as models of linear calculi of explicit substitution as identities cannot be defined in the fibres. Dropping the identities from our models leads to what we call E categories and hence our triangle now looks like: E cat IPL oe calculus Psi R where the oe calculus [1](a simply typed calculus with explicit substitution) is derived as the internal language of E categories this ensures that we have a Curry Howard triangle. As we shall see, E categories are essential in generalising the monoidal adjunction semantics of linear logic to cover explicit ....
....is insufficient to model a calculus of explicit substitutions as no mention is made of the connectives. We now consider a canonical extension of the simply typed calculus with explicit substitutions and the extra structure required to model it. Our presentation varies slightly from the original [1], eg we use names rather than De Bruijn numbers. 3.1 The oe calculus The types of the oe calculus are ground types, the unit type 1, function types A B and product types A Theta B. The raw expressions of oe are: t : x j x: A:t j tt j ht; ti j i t j ffl j f t f : hi j hf; t=xi j f ; f ....
[Article contains additional citation context not shown here]
Martin Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jaques L'evy. Explicit substitutions. Journal of Functional Programming, 1(4):375--416, 1991.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC