A Categorical Semantics for Inductive-Inductive Definitions
Induction-induction is a principle for defining data types in Martin-Löf Type Theory. An inductive-inductive definition consists of a set A, together with an A-indexed family B : A → Set, where both A and B are inductively defined in such a way that the constructors for A can refer to B and vice versa. In addition, the constructors for B can refer to the constructors for A. We extend the usual initial algebra semantics for ordinary inductive data types to the inductive-inductive setting by considering dialgebras instead of ordinary algebras. This gives a new and compact formalisation of inductive-inductive definitions, which we prove is equivalent to the usual formulation with elimination rules.
Unable to display preview. Download preview PDF.
- 2.Altenkirch, T., Morris, P.: Indexed containers. In: 24th Annual IEEE Symposium on Logic In Computer Science, LICS 2009, pp. 277–285 (2009)Google Scholar
- 6.Dybjer, P.: Internal type theory. In: Berardi, S., Coppo, M. (eds.) TYPES 1995. LNCS, vol. 1158, pp. 120–134. Springer, Heidelberg (1996)Google Scholar
- 11.Hagino, T.: A Categorical Programming Language. Ph.D. thesis, University of Edinburgh (1987)Google Scholar
- 14.Martin-Löf, P.: Intuitionistic type theory. Bibliopolis Naples (1984)Google Scholar
- 17.Norell, U.: Towards a practical programming language based on dependent type theory. Ph.D. thesis, Chalmers University of Technology (2007)Google Scholar