Showing changes from revision #1 to #2:
Added | Removed | Changed
Induction-induction is a principle for mutually defining data types and . Both and are defined inductively, and the constructors for can refer to and vice versa. In addition, the constructor for can refer to the constructor for . Induction-induction occurs in a natural way when formalising dependent type theory in type theory.
Inductive-inductive types are related to inductive recursive types?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.
These are described in the book.
Fredrik Nordvall Forsberg and Anton Setzer, A finite axiomatisation of inductive-inductive definitions PDF
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