15-816 Linear Logic
Lecture 17: Termination

The presence of recursion and unrestricted recursive types destroys the possibility of viewing the our linear functional programming language as arising from a pure type-theoretic view. In this lecture we investigate how to introduce data types instead following our type-theoretic approach.

The result will first be a reformulation of Gödel's system T of primitive recursive functionals. In this system, every function terminates. For the proof of this fact we will employ Tait's method (also called the method of logical relations). This method can also give us a direct proof of normalization for intuitionistic linear logic without the detour through the sequent calculus, although we will not show this proof in this course.

Based on this, we can investigate polynomial time computation via a further restriction of the concept of primitive recursion in a linear type-theoretic setting.

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

Frank Pfenning