15-816 Linear Logic
Lecture 20: Dependent Types

In this lecture we explore the use of dependent types as introduced in the previous lecture in order to capture data structure invariant. The examples show that in order to use dependent types in any practical sense we require a rule of type conversion. The requisite notion of definitional equality is one of the principal judgments of type theory, yet there seems to simple and canonical way to choose this notion of equality.

We also discuss the use of dependent types both in the use of a type theory for functional programming and as a logical framework. This leads to different requirements for the notion of definitional equality.

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

Frank Pfenning