Results 1 -
8 of
8
Confluence properties of Weak and Strong Calculi of Explicit Substitutions
- JOURNAL OF THE ACM
, 1996
"... Categorical combinators [12, 21, 43] and more recently oe-calculus [1, 23], have been introduced to provide an explicit treatment of substitutions in the -calculus. We reintroduce here the ingredients of these calculi in a self-contained and stepwise way, with a special emphasis on confluence prope ..."
Abstract
-
Cited by 114 (7 self)
- Add to MetaCart
Categorical combinators [12, 21, 43] and more recently oe-calculus [1, 23], have been introduced to provide an explicit treatment of substitutions in the -calculus. We reintroduce here the ingredients of these calculi in a self-contained and stepwise way, with a special emphasis on confluence properties. The main new results of the paper w.r.t. [12, 21, 1, 23] are the following: 1. We present a confluent weak calculus of substitutions, where no variable clashes can be feared. 2. We solve a conjecture raised in [1]: oe-calculus is not confluent (it is confluent on ground terms only). This unfortunate result is "repaired" by presenting a confluent version of oe-calculus, named the Env-calculus in [23], called here the confluent oe-calculus.
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...
Call-by-value λ-calculus and LJQ
- Len06] S. Lengrand. Normalisation & Equivalence in Proof Theory & Type Theory
, 2007
"... LJQ is a focused sequent calculus for intuitionistic logic, with a simple restriction on the first premiss of the usual left introduction rule for implication. In a previous paper we discussed its history (going back to about 1950, or beyond) and presented its basic theory and some applications; her ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
LJQ is a focused sequent calculus for intuitionistic logic, with a simple restriction on the first premiss of the usual left introduction rule for implication. In a previous paper we discussed its history (going back to about 1950, or beyond) and presented its basic theory and some applications; here we discuss in detail its relation to call-by-value reduction in lambda calculus, establishing a connection between LJQ and the CBV calculus λC of Moggi. In particular, we present an equational correspondence between these two calculi forming a bijection between the two sets of normal terms, and allowing reductions in each to be simulated by reductions in the other.
Reasoning about Layered, Wildcard and Product Patterns
- ALP '94, volume 850 of LNCS
, 1994
"... We study the extensional version of the simply typed -calculus with product types and fixpoints enriched with layered, wildcard and product patterns. Extensionality is expressed by the surjective pairing axiom and a generalization of the j-conversion to patterns. We obtain a confluent reduction syst ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We study the extensional version of the simply typed -calculus with product types and fixpoints enriched with layered, wildcard and product patterns. Extensionality is expressed by the surjective pairing axiom and a generalization of the j-conversion to patterns. We obtain a confluent reduction system by turning the extensional axioms as expansion rules, and then adding some restrictions to these expansions in order to avoid reduction loops. Confluence is proved by composition of modular properties of the extensional and non-extensional subsystems of the reduction calculus. 1 Introduction Pattern-matching function definitions is one of the most popular features of functional languages, allowing to specify the behavior of functions by cases, according to the form of their arguments. Left-hand sides of function definitions are usually expressed using Layered, Wildcard and Product Patterns (LWPP), as for example the following Caml Light [ea93] program where the function cons new pair ta...
Resource operators for λ-calculus
- INFORM. AND COMPUT
, 2007
"... We present a simple term calculus with an explicit control of erasure and duplication of substitutions, enjoying a sound and complete correspondence with the intuitionistic fragment of Linear Logic’s proof-nets. We show the operational behaviour of the calculus and some of its fundamental properties ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We present a simple term calculus with an explicit control of erasure and duplication of substitutions, enjoying a sound and complete correspondence with the intuitionistic fragment of Linear Logic’s proof-nets. We show the operational behaviour of the calculus and some of its fundamental properties such as confluence, preservation of strong normalisation, strong normalisation of simply-typed terms, step by step simulation of β-reduction and full composition.
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].
Translation of First-Class Environments to Records
"... We have studied a calculus with first-class environments which originates from the oe-calculus. We give a translation of the calculus to a record calculus and show fundamental properties by using the translation. First we give a translation of simply typed calculus ! env into simply-typed record ..."
Abstract
- Add to MetaCart
We have studied a calculus with first-class environments which originates from the oe-calculus. We give a translation of the calculus to a record calculus and show fundamental properties by using the translation. First we give a translation of simply typed calculus ! env into simply-typed record calculus ! record , which is used for proving strong normalization of ! env . Second we introduce a translation of untyped calculus env into untyped -calculus and investigate extensional conversion of env-calculus with the translation. 1 Introduction First-class environments We treat various kinds of object in programming languages. Most of objects, e.g. integers or boolean values can be passed and returned between procedures. However, we cannot always use all of them in such a way. For example, procedures themselves are passed and returned between procedures in Lisp. In contrast, it is impossible to do so in BASIC. Objects which can be passed and returned between procedures, are sa...

