




Did you find this useful? Give us your feedback
2,391 citations
1,345 citations
853 citations
780 citations
662 citations
2,632 citations
1,291 citations
...(The problem arises in full generality with dependent types [14], and some readers may find it helpful to think about calculi of substitutions with dependent types....
[...]
919 citations
772 citations
...By a well-known lemma, local confluence suffices [11]; it can be checked by examining critical pairs, according to the Knuth-Bendix test....
[...]
662 citations
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.
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.
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, . . .
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′]
The calculus is a vehicle in designing, understanding, verifying, and comparing implementations of the λ-calculus, from interpreters to machines.
Other applications are in the analysis of typechecking algorithms for higher-order languages and, potentially, in the mechanization of logical systems.
¿From their perspective, the advantage of the λσ-calculus over combinator calculi is that it remains closer to the original λ-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.
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.
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.
(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.)
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]
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]
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.