Indexed induction–recursion

https://doi.org/10.1016/j.jlap.2005.07.001Get rights and content
Under an Elsevier user license
open archive

Abstract

An indexed inductive definition (IID) is a simultaneous inductive definition of an indexed family of sets. An inductive–recursive definition (IRD) is a simultaneous inductive definition of a set and a recursive definition of a function on that set. An indexed inductive–recursive definition (IIRD) is a combination of both.

We present a closed theory which allows us to introduce all IIRD in a natural way without much encoding. By specialising it we also get a closed theory of IID. Our theory of IIRD includes essentially all definitions of sets which occur in Martin–Löf type theory. We show in particular that Martin–Löf’s computability predicates for dependent types and Palmgren’s higher order universes are special kinds of IIRD and thereby clarify why they are constructively acceptable notions.

We give two axiomatisations. The first formalises a principle for introducing meaningful IIRD by using the data-construct in the original version of the proof assistant Agda for Martin–Löf type theory. The second one admits a more general form of introduction rule, including the introduction rule for the intensional identity relation, which is not covered by the first axiomatisation. If we add an extensional identity relation to our logical framework, we show that the theories of restricted and general IIRD are equivalent by interpreting them in each other.

Finally, we show the consistency of our theories by constructing a model in classical set theory extended by a Mahlo cardinal.

Keywords

Dependent type theory
Martin–Löf type theory
Inductive definitions
Inductive–recursive definitions
Inductive families
Initial algebras
Normalisation proofs
Generic programming

Cited by (0)

1

Supported by Vetenskapsrådet, grant Typed Lambda Calculus and Applications.

2

Supported by Nuffield Foundation, grant ref. NAL/00303/G and EPSRC grant GR/S30450/01.

3

Tel.: +44 1792 513368; fax: +44 1792 295651.