15-851
Computation & Deduction
Spring 1997
Frank Pfenning
Lecture 25: Pure Type Systems and Inductive Types
Pure Type Systems (PTS) give a uniform formulation of the simply-typed,
dependently-typed, and polymorphic lambda-calculi. Allowing all those
features, and also including type constructors (such as lists) yields
the Calculus of Constructions, in which logical operators can be defined
in the same way inductive datatypes could be encoded in the polymorphic
lambda calculus.
The resulting encodings are computationally not adequate, since some
very simple functions (such as the predecessor of a Church numeral)
may take very long to compute. Therefore inductive types are usually
considered primitive. We introduce inductive types and their associated
induction principles.
©
Frank Pfenning 1992-1997
fp@cs