Constructing Strictly Positive Types
Michael Abbott a, Thorsten Altenkirch b, Neil Ghani c
aDiamond Light Source, Rutherford Appleton Laboratory
bSchool of Computer Science and Information Technology, Nottingham University
cDepartment of Mathematics and Computer Science, University of Leicester
We introduce the notion of a Martin-L¨of category -- a locally cartesian closed category
with disjoint coproducts and initial algebras of container functors (the categorical analogue
of W-types) -- and then establish that nested strictly positive inductive and coinductive
types, which we call strictly positive types, exist in any Martin-L¨of category.
Central to our development are the notions of containers and container functors,
introduced in Abbott, Altenkirch, and Ghani (2003a). These provide a new conceptual
analysis of data structures and polymorphic functions by exploiting dependent type theory
as a convenient way to define constructions in Martin-L¨of categories. We also show
that morphisms between containers can be full and faithfully interpreted as polymorphic
functions (i.e. natural transformations) and that, in the presence of W-types, all strictly
positive types (including nested inductive and coinductive types) give rise to containers.
Key words: Type Theory, Category Theory, Container Functors, W-Types, Induction,
Coinduction, Initial Algebras, Final Coalgebras.