Explicit substitutions

  title={Explicit substitutions},
  author={Mart{\'i}n Abadi and Luca Cardelli and Pierre-Louis Curien and Jean-Jacques L{\'e}vy},
  journal={Journal of Functional Programming},
  pages={375 - 416}
The λ&sgr;-calculus is a refinement of the λ-calculus where substitutions are manipulated explicitly. The λ&sgr;-calculus provides a setting for studying the theory of substitutions, with pleasant mathematical properties. It is also a useful bridge between the classical λ-calculus and concrete implementations. 

Explicit substitutions and all that

New developments on two of the most successful styles of explicit substitution calculi: the lambda sigma- and lambda s_e-calculi are explored.

Strong Normalizations of Substitutions

This work presents an independent proof of the termination of several substitution calculi, including a and SUBST, from the strong normalization of the similar subsystem SUBST of CCL.

Explicit Substitutions for the Lambda-Calculus

It is shown that λΔexp preserves strongnormalisation, which provides the first example -moreover a very natural one indeed of explicit substitution calculus which is not structure-preserving and has the preservation of strong normalisation property.

Linear Explicit Substitutions ( Extended Abstract )

This paper generalises the -calculus to provide a linear calculus of explicit substitutions which analogously describes the implementation of linear functional programming languages.

Explicit Substitutions for Constructive Necessity

This paper introduces a λ-calculus with explicit substitutions, corresponding to an S4 modal logic of constructive necessity, which is used to develop abstract machines and as a framework for specifying and analysing computation stages in the context of functional languages.

Explicit substitutions for pi-congruences

Dependent types and explicit substitutions: a meta-theoretical development

  • C. Muñoz
  • Economics
    Mathematical Structures in Computer Science
  • 2001
In this system, meta-variables, as well as substitutions, are first-class objects and it is shown that the system enjoys properties like type uniqueness, subject reduction, soundness, confluence, and weak normalization.

Substitution in Lambda Calculus Lecture Notes

We study the formalization of lambda calculus based on De Bruijn terms. The most interesting aspect is a system of substitution primitives and an accompanying equational theory providing for

From λσ to λν: a journey through calculi of explicit substitutions

This paper gives a systematic description of several calculi of explicit substitutions. These systems are orthogonal and have easy proofs of termination of their substitution calculus. The last

Implementation of Explicit Substitutions : from λσ to the Suspension Calculus

Explicit substitutions are an important tool for the efficient implementation of the normalization of terms in programs that manipulate data with binders, such as theorem provers or type checkers. We



Proof of termination of the rewriting system subst on CCL

Un résultat de complétude pour les substitutions explicites

We establish a completeness result of λσ-calculus with respect to λ-calculus. Specifically we construct an interpretation of λσ-calculus, which is such that a source term is typable iff its

The lambda calculus - its syntax and semantics

  • H. Barendregt
  • Mathematics
    Studies in logic and the foundations of mathematics
  • 1985

On laziness and optimality in lambda interpreters: tools for specification and analysis

It is shown that ACCL has properties not possessed by Curien's original combinators that make it particularly appropriate as the basis for implementation and analysis of a wide range of reduction schemes using shared environments, closures, or λ-terms.

Combinatory logic

the equations derivable from the axioms of the theory. When this two-step algebraization has been carried out it is possible to reduce problems of validity in a first-order language to questions

Equations and rewrite rules: a survey

Typeful Programming

  • L. Cardelli
  • Computer Science
    Formal Description of Programming Concepts
  • 1989
It is shown how typeful programming is best supported by sophisticated type systems, and how these systems can help in clarifying programming issues and in adding power and regularity to languages.

Categorical Combinators