Normalization in the Simply-Typed λ-calculus

Presented on July 13, 2017
Presenter: Lawton

Preview

I’ll present the normalization theorem in detail, because that seems to be something we all glanced over when we read TaPL!

Resources

Summary

Theorem: If ⋅ ⊢ e : τ, then e ↦⋆ v, where v is a value.

This doesn’t go through. We need a stronger induction hypothesis.

Define Rτ(e) by induction on τ:

R_{unit} ⟺ e terminates
R_{τ1→t2} ⟺ ∀e2:τ1, Rτ1(e2) ⟹ Rτ2(e e2)

Then we can use the stronger property to prove normalization!

Theorem: Rτ(e) ⟹ e terminates.
Theorem: If ⋅ ⊢ e : τ, then Rτ(e).

Recap: we made a relation that helped us to express the logical structure of the elimination forms of a type—a lambda is logically an implication, and the Rτ relation in the arrow type case is essentially a form of modus ponens.

My notes