LC 2
LC 2
iszero c0
(λm.m (λx.fls) tru) c0
→ c0 (λx.fls) tru
→ (λs.λz. z) (λx.fls) tru
→ (λz. z) tru
→ tru
↛
iszero c2
(λm.m (λx.fls) tru) c2
→ c2 (λx.fls) tru
→ (λs.λz. s (s z)) (λx.fls) tru
→ (λz. (λx.fls) ((λx.fls) z)) tru
→ (λx.fls) ((λx.fls) tru)
→ fls
↛
Let V be a countable set of variable names. The set of terms is the smallest
set T such that:
1 V⊆T
2 t1 ∈ T ∧ x ∈ V =⇒ λx.t1 ∈ T
3 t1 , t2 ∈ T =⇒ t1 t2 ∈ T
Via this definition, we can define size and depth the same way as we did
under UAE.
In order to avoid having our variables captured, we might add the condition
that, in order for a substitution to pass through a λ abstraction, the
abstracted variable must not be in the set of free variables contained within
the expression we are subbing in.
[x 7→ y z](λy .x y ) (20)
Note that these are the semantics for the pure λ-Calculus.