Explicit substitutions
read more
Citations
Types and Programming Languages
Conditional rewriting logic as a unified model of concurrency
The chemical abstract machine
The chemical abstract machine
Combinatory reduction systems
References
The Lambda Calculus. Its Syntax and Semantics
Intuitionistic type theory
Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
Equations and rewrite rules: a survey
Combinatory reduction systems
Related Papers (5)
Frequently Asked Questions (15)
Q2. What is the term of the form a[s]?
If s represents the infinite substitution {a1/1, a2/2, a3/3, . . .}, the authors write a[s] for a with the substitution s. A term of the form a[s] is called a closure.
Q3. What is the basic strategy for typechecking a term?
In order to typecheck a term a[s], the basic strategy is to analyze simpler and simpler components of a while accumulating more and more complex substitutions in s.
Q4. What is the effect of decrementing a?
all the remaining free indices in a must be decremented; the desired effect is obtained with an infinite substitution:(λx.a)b →β a{b/x} becomes (λa)b →β a{b/1, 1/2, 2/3, . . .
Q5. What can be removed from the rule Clos?
The inference rules = s′ t = t′s ◦ t = s′ ◦ t′can be removed, and the inference rule for the closure operator can be restricted tos = s′1[s] = 1[s′]
Q6. What is the role of the calculus in the study of substitutions?
The calculus is a vehicle in designing, understanding, verifying, and comparing implementations of the λ-calculus, from interpreters to machines.
Q7. What are other applications of the calculus?
Other applications are in the analysis of typechecking algorithms for higher-order languages and, potentially, in the mechanization of logical systems.
Q8. What is the advantage of the -calculus over the combinator calculi?
¿From their perspective, the advantage of the λσ-calculus over combinator calculi is that it remains closer to the original λ-calculus.
Q9. What is the alternative solution to the first-order calculus?
An alternative (but heavy) solution would be to have separate index sets for ordinary term variables and for type variables, and to manipulate separate term and type environments as well.
Q10. What does the theory of S2 mean?
The theory S2 is formulated with equivalence judgments, for example judgments of the form E ` a ∼ b : A. This judgment means that in the environment E the terms a and b both have type A and are equivalent.
Q11. What is the definition of a weak head normal form?
In their setting, weak head normal forms are defined as follows:Definition 3.7 A weak head normal form (whnf for short) is a λσ term of the form λa or na1 · · · am.
Q12. What is the invariant for the relation between environment lengths and substitutions sizes?
(The precise relation between environment lengths, and substitutions sizes, as defined in section 2, obeys the invariant: if E ` s substp and | s | = (m,n) then p = m + | E | − n ≥ 0.)
Q13. What is the syntax for the typed first-order -calculus?
For the typed first-order λσ-calculus, the syntax becomes:Types A ::= K |A → B Environments E ::= nil |A,E Terms a ::= 1 | ab |λA.a | a[s]
Q14. What is the syntax of the first-order typed -calculus?
The first-order λσ-calculus has the following syntax:Types A ::= K |A → B Environments E ::= nil |A,E Terms a ::= 1 | ab |λA.a | a[s]
Q15. What is the correct technique for the version of calculi with explicit substitutions?
The rule for application takes this into account; a substitution is applied to B to “unshift” its indices:E ` b : A → B E ` a : AE ` b(a) : B[a:A · id ]The B[a:A · id ] part is reminiscent of the rule found in calculi for dependent types, and this is the correct technique for the version of such calculi with explicit substitutions.