Induction-induction is a principle for mutually defining data types $A : Set$ and $B: A \to Set$. Both $A$ and $B$ are defined inductively, and the constructors for $A$ can refer to $B$ and vice versa. In addition, the constructor for $B$ can refer to the constructor for $A$. Induction-induction occurs in a natural way when formalising dependent type theory in type theory.

Results

Inductive-inductive types are related to inductive recursive types?. Importantly, inductive-inductive types can be reduced to indexed inductive types.

The consistency of the framework used for the elimination (the theorem prover Agda) is not so clear, as it allows the definition of a universe containing a code for itself. There is an axiomatisation of the new principle in such a way that the resulting type theory is consistent, as proved by constructing a set-theoretic model; see ForsbergSetzer.

Higher inductive inductive types

These are described in the book.

References

Fredrik Nordvall Forsberg and Anton Setzer, A finite axiomatisation of inductive-inductive definitionsPDF

Fredrik Nordvall Forsberg and Anton Setzer, Inductive-Inductive Definitions, Computer Science Logic, Lecture Notes in Computer Science Volume 6247, 2010, pp 454-468 Paper.

Fredrik Nordvall Forsberg, Inductive-inductive definitions, PhD thesis Swansea University, 2013. PDF

Revision on June 3, 2014 at 01:29:51 by
Bas Spitters.
See the history of this page for a list of all contributions to it.