applications : if M and N are λ-terms, then (MN) is one
abstractions : if x is a variable and M is a λ-term, then (λx.M) is one
By convention, the association to the left is used : MNPQ=((MN)P)Q.
Reduction
β-reduction :
(λx.M)N⊳β[N/x]M
η-reduction :
λx.Mx⊳ηM if x∈/FV(M)
Extensional equality
(ζ)M=NMx=Nx if x∈/FV(MN)
(η)λx.Mx=M if x∈/FV(M)
Theories λβζ and λβη determine the same equality relation.
Combinatory logic
Definition
[x]w.Y is defined thus :
[x]w.Y≡KY if x∈/FV(Y)
[x]w.x≡I
[x]w.UV≡S([x]w.U)([x]w.V) if x∈FV(UV)
Warning : do not include η-reduction inside abstraction definition.
Reduction
weak-reduction :
IX⊳1wX
KXY⊳1wX
SXYZ⊳1wXZ(YZ)
theorem on abstractions :
([x].M)N⊳w[N/x]M
Extensional equality
(ζ)X=YXx=Yx if x∈/FV(XY)
(ξ)[x].X=[x].YX=Y
(η)[x].Ux=U if x∈/FV(U)
Theories CLζ and CL(ξ+η) determine the same equality relation. But they’re not easy to work with. So instead, let’s use five axioms only and denote the obtained theory by CLextax :
E-ax 1 and E-ax 2 are used to prove the lemma : CLextax
Equivalence of extensional equalities
So excluding rule (η) from the definition of abstractions (2.18c) only adds two results which can be satisfied with the extensionality axioms (check later) :