Computation & Deduction
Spring 1997
Frank Pfenning

Lecture 27: Termination via Logical Relations

We show that a simply-typed lambda-calculus with functions, products, units, and sums is terminating under a call-by-value operational semantics. The argument proceeds via logical relations, which take a different and somewhat simpler form when compared to the proof of the canonical form theorem. We illustrate how this proof breaks down when we add recursion at the level of types or terms, neither of which preserves termination. We also begin the discussion of subtyping and desirable properties of subtyping systemssuch as decidability, principal types, type subtyping systemspreservation, and coherence.
  • next lecture
  • previous lecture

  • [ C&D Home | Schedule | Code | Assignments | Notes | Projects | Elf ]

    © Frank Pfenning 1992-1997