Computation & Deduction
We present a proof that in the simply-typed lambda-calculus (without recursion) every well-typed term has a canonical form. Our notion of canonical form (often called long beta-eta-normal form) precisely matches the structure of uniform derivations, thus finishing the completeness proof for uniform derivations.
The proof proceeds by the very important technique of logical relations which has many applications in the theory of programming languages. We try to motivate the necessary definitions and lemmas and concentrate on the overall structure of the proof.