15-851 Computation and Deduction
Lecture 25: Termination

It turns out that in Mini-ML, the fixpoint constructor is the only source of non-termination. We verify this by showing that every fixpoint-free well-typed program has a value. This property persists when we add subtyping, intersection types, and polymorphism, even though significantly more programs can be typed.

The proof proceeds by constructing a (unary) logical relation, a very important proof technique in the theory of lambda-calculi and programming languages.

[ Home | Schedule | Assignments | Handouts | Software | Overview ]

Frank Pfenning