Computer Science 591i
Environment Models, Combinatory Models.
How far can we squash the -calculus down?
In an environment model we identify certain terms of (D) which are syntactically distinct. For example
(( x. (+ x a)) p)
is necessarily mapped to the same value as
in any environment model. Moreover, further identification is possible. For
example (+ a b) will be mapped to the same value as (+ b
a) in any environment model which implements addition defined by the
standard rules. How far can this identification process go? Can we project
the lambda-calculus down to an environment model consisting of a single
element, or to a finite number of elements? The following two lemmas
demonstrate that the values of projection functions must be
distinct in any non-trivial environment model.
From now on we'll write
(d1 d2)
for (d1)(d2).
Lemma EM4
In any environment model if, for some environment ,
then for any d1 . . .dn in D,
(p d1 . . .dn) = d
Lemma EM5
In any environment model if, for some environment ,
p =
[
x1 . . . xi . . .
xn. xi]
()
then for any d1 . . .dn in D,
(p d1 . . .dn) = di
Proof
By induction on i.
Base Case: i=1
where
by the substitution lemma
So
((p d1) d2 . . . dn) = d1
by lemma EM4
Inductive Step
Suppose that if for some i
p =
[
x1 . . . xi . . .
xn. xi]
()
then for any d1 . . .dn in D,
(p d1 . . .dn) = di
Consider
p =
[
x1 . . . xi+1 . . .
xm. xi+1]
() = (f)
where
by the substitution lemma
Now consider
by the inductive hypothesis. Hence result.
Lemma EM6
The equation
x1 . . . xn . xi
= x1 . . . xn . xj
where 1 i < j n
is not valid in any environment model , for which D has more than one element.
Proof
Since D has more than one element, we can choose
d1 . . . di . . . dj
. . . dn
where di dj
and apply lemma EM5.
Combinatory Models
At this point, let's return to our consideration of combinators.
We have already shown that any term E of
(C)
has a corresponding combinatory lambda term E' which is
alpha-beta equivalent to it. We also showed that any applicative
algebra which was the image of (C) under
a valuation necessarily contained the combinators S,K,I.
Now in considering environment models, we have already adopted the
convention that we write (d1 d2) for
(d1)(d2). This immediately
raises the idea, could we get an environment model from a combinatory
algebra by defining
(d1)(d2)
= (d1 d2)
Unfortunately the axioms for a combinatory algebra aren't quite strong
enough for this to work, because we also need the
function, which is a left-inverse of . Let's consider
the function which maps d to
((d)). Indeed, let's suppose
it is a function which corresponds to an element
e D. Then we have
since is the left inverse of .