 
Summary: A categorical semantics for inductiveinductive
definitions
Thorsten Altenkirch1,, Fredrik Nordvall Forsberg2, Peter Morris1, and
Anton Setzer2
1
School of Computer Science, University of Nottingham
2
Department of Computer Science, Swansea University
Abstract. Inductioninduction is a principle for defining datatypes in
MartinL¨of Type Theory. An inductiveinductive definition consists of a
set A, together with an Aindexed 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 datatypes to the inductiveinductive setting by
considering dialgebras instead of ordinary algebras. This gives a new and
compact formalisation of inductiveinductive definitions, which we prove
is equivalent to the usual formulation with elimination and computation
rules.
1 Introduction
