Results 1 - 10
of
12
A lambda-calculus à la de Bruijn with explicit substitutions
, 1995
"... The aim of this paper is to present the s-calculus which is a very simple -calculus with explicit substitutions and to prove its confluence on closed terms and the preservation of strong normalisation of -terms. We shall prove strong normalisation of the corresponding calculus of substitution by tra ..."
Abstract
-
Cited by 72 (24 self)
- Add to MetaCart
The aim of this paper is to present the s-calculus which is a very simple -calculus with explicit substitutions and to prove its confluence on closed terms and the preservation of strong normalisation of -terms. We shall prove strong normalisation of the corresponding calculus of substitution by translating it into the oe-calculus [ACCL91], and therefore the relation between both calculi will be made explicit. The confluence of the s-calculus is obtained by the "interpretation method" ([Har89], [CHL92]). The proof of the preservation of normalisation follows the lines of an analogous result for the AE-calculus (cf. [BBLRD95]). The relation between s and AE is also studied.
A Notation for Lambda Terms I: A Generalization of Environments
- THEORETICAL COMPUTER SCIENCE
, 1994
"... A notation for lambda terms is described that is useful in contexts where the intensions of these terms need to be manipulated. This notation uses the scheme of de Bruijn for eliminating variable names, thus obviating ff-conversion in comparing terms. This notation also provides for a class of terms ..."
Abstract
-
Cited by 31 (12 self)
- Add to MetaCart
A notation for lambda terms is described that is useful in contexts where the intensions of these terms need to be manipulated. This notation uses the scheme of de Bruijn for eliminating variable names, thus obviating ff-conversion in comparing terms. This notation also provides for a class of terms that can encode other terms together with substitutions to be performed on them. The notion of an environment is used to realize this `delaying' of substitutions. The precise mechanism employed here is, however, more complex than the usual environment mechanism because it has to support the ability to examine subterms embedded under abstractions. The representation presented permits a fi-contraction to be realized via an atomic step that generates a substitution and associated steps that percolate this substitution over the structure of a term. The operations on terms that are described also include ones for combining substitutions so that they might be performed simultaneously. Our notatio...
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 Properties of Extensional and Non-Extensional lambda-Calculi with Explicit Substitutions (Extended Abstract)
- in Proceedings of the Seventh International Conference on Rewriting Techniques and Applications
, 1996
"... ) Delia Kesner CNRS and LRI, B at 490, Universit e Paris-Sud - 91405 Orsay Cedex, France. e-mail:Delia.Kesner@lri.fr Abstract. This paper studies confluence properties of extensional and non-extensional #-calculi with explicit substitutions, where extensionality is interpreted by #-expansion. For ..."
Abstract
-
Cited by 22 (5 self)
- Add to MetaCart
) Delia Kesner CNRS and LRI, B at 490, Universit e Paris-Sud - 91405 Orsay Cedex, France. e-mail:Delia.Kesner@lri.fr Abstract. This paper studies confluence properties of extensional and non-extensional #-calculi with explicit substitutions, where extensionality is interpreted by #-expansion. For that, we propose a general scheme for explicit substitutions which describes those abstract properties that are sufficient to guarantee confluence. Our general scheme makes it possible to treat at the same time many well-known calculi such as ## , ## # and ## , or some other new calculi that we propose in this paper. We also show for those calculi not fitting in the general scheme that can be translated to another one fitting the scheme, such as #s , how to reason about confluence properties of their extensional and non-extensional versions. 1 Introduction The #-calculus is a convenient framework to study functional programming, where the evaluation process is modeled by #-reduction. The...
Strong Normalization of Explicit Substitutions via Cut Elimination in Proof Nets
, 1997
"... In this paper, we show the correspondence existing between normalization in calculi with explicit substitution and cut elimination in sequent calculus for Linear Logic, via Proof Nets. This correspondence allows us to prove that a typed version of the #x-calculus [30, 29] is strongly normalizing, as ..."
Abstract
-
Cited by 21 (4 self)
- Add to MetaCart
In this paper, we show the correspondence existing between normalization in calculi with explicit substitution and cut elimination in sequent calculus for Linear Logic, via Proof Nets. This correspondence allows us to prove that a typed version of the #x-calculus [30, 29] is strongly normalizing, as well as of all the calculi isomorphic to it such as # # [24], # s [19], # d [21], and # f [11]. In order to achieve this result, we introduce a new notion of reduction in Proof Nets: this extended reduction is still confluent and strongly normalizing, and is of interest of its own, as it correspond to more identifications of proofs in Linear Logic that differ by inessential details. These results show that calculi with explicit substitutions are really an intermediate formalism between lambda calculus and proof nets, and suggest a completely new way to look at the problems still open in the field of explicit substitutions.
Cut Rules and Explicit Substitutions
, 2000
"... this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call N-systems, are symbolic logics generally given via introduction and elimination rules for the l ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
this paper deals exclusively with intuitionistic logic (in fact, only the implicative fragment), we require succedents to be a single consequent formula. Natural deduction systems, which we choose to call N-systems, are symbolic logics generally given via introduction and elimination rules for the logical connectives which operate on the right, i.e., they manipulate the succedent formula. Examples are Gentzen's NJ and NK (Gentzen 1935). Logical deduction systems are given via left-introduction and right-introduction rules for the logical connectives. Although others have called these systems "sequent calculi", we call them L-systems to avoid confusion with other systems given in sequent style. Examples are Gentzen's LK and LJ (Gentzen 1935). In this paper we are primarily interested in L-systems. The advantage of N-systems is that they seem closer to actual reasoning, while L-systems on the other hand seem to have an easier proof theory. L-systems are often extended with a "cut" rule as part of showing that for a given L-system and N-system, the derivations of each system can be encoded in the other. For example, NK proves the same as LK + cut (Gentzen 1935). Proof Normalization. A system is consistent when it is impossible to prove false, i.e., derive absurdity from zero assumptions. A system is analytic (has the analycity property) when there is an e#ective method to decompose any conclusion sequent into simpler premise sequents from which the conclusion can be obtained by some rule in the system such that the conclusion is derivable i# the premises are derivable (Maenpaa 1993). To achieve the goals of consistency and analycity, it has been customary to consider
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...
Bridging de Bruijn indices and variable names in explicit substitutions calculi
- Logic Journal of the Interest Group of Pure and Applied Logic (IGPL
, 1996
"... Calculi of explicit substitutions have almost always been presented using de Bruijn indices with the aim of avoiding ff-conversion and being as close to machines as possible. De Bruijn indices however, though very suitable for the machine, are difficult to human users. This is the reason for a renew ..."
Abstract
-
Cited by 9 (6 self)
- Add to MetaCart
Calculi of explicit substitutions have almost always been presented using de Bruijn indices with the aim of avoiding ff-conversion and being as close to machines as possible. De Bruijn indices however, though very suitable for the machine, are difficult to human users. This is the reason for a renewed interest in systems of explicit substitutions using variable names. Formal systems of explicit substitutions using variable names is a new area however and we believe, it should not develop without being well-tied to existing work on explicit substitutions. The aim of this paper is to establish a bridge between explicit substitutions using de Bruijn indices and using variable names. In our aim to do so, we provide the t-calculus: a -calculus `a la de Bruijn which can be translated into a -calculus with explicit substitutions written with variables names. We present explicitly this translation and use it to obtain preservation of strong normalisation for t. Moreover, we show several prope...
The theory of calculi with explicit substitutions revisited
- CSL 2007
, 2007
"... Calculi with explicit substitutions (ES) are widely used in different areas of computer science. Complex systems with ES were developed these last 15 years to capture the good computational behaviour of the original systems (with meta-level substitutions) they were implementing. In this paper we fi ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Calculi with explicit substitutions (ES) are widely used in different areas of computer science. Complex systems with ES were developed these last 15 years to capture the good computational behaviour of the original systems (with meta-level substitutions) they were implementing. In this paper we first survey previous work in the domain by pointing out the motivations and challenges that guided the development of such calculi. Then we use very simple technology to establish a general theory of explicit substitutions for the lambda-calculus which enjoys fundamental properties such as simulation of one-step beta-reduction, confluence on metaterms, preservation of beta-strong normalisation, strong normalisation of typed terms and full composition. The calculus also admits a natural translation into Linear Logic’s proof-nets.
Explicit Substitutions for Objects and Functions
, 1998
"... This paper proposes an implementation of objects and functions via a calculus with explicit substitutions which is confluent and preserves strong normalization. The source calculus corresponds to the combination of the \sigma-calculus of Abadi and Cardelli [AC96] and the \lambda-calculus, and the ta ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper proposes an implementation of objects and functions via a calculus with explicit substitutions which is confluent and preserves strong normalization. The source calculus corresponds to the combination of the \sigma-calculus of Abadi and Cardelli [AC96] and the \lambda-calculus, and the target calculus corresponds to an extension of the former calculus with explicit substitutions. The interesting feature of our calculus is that substitutions are separated -- and treated accordingly -- in two different kinds: those used to encode ordinary substitutions and those encoding invoke substitutions. When working with explicit substitutions, this differentiation is essential to encode \lambda-calculus into \sigma-calculus in a conservative way, following the style proposed in [AC96].

