  A new theory of data types which allows for the definition of types as
initial algebras of certain functors Fam(C) -> Fam(C) is presented. This
theory, which we call positive inductive-recursive definitions, is a
generalisation of Dybjer and Setzer's theory of inductive-recursive definitions
within which C had to be discrete -- our work can therefore be seen as lifting
this restriction. This is a substantial endeavour as we need to not only
introduce a type of codes for such data types (as in Dybjer and Setzer's work),
but also a type of morphisms between such codes (which was not needed in Dybjer
and Setzer's development). We show how these codes are interpreted as functors
on Fam(C) and how these morphisms of codes are interpreted as natural
transformations between such functors. We then give an application of positive
inductive-recursive definitions to the theory of nested data types and we give
concrete examples of recursive functions defined on universes by using their
elimination principle. Finally we justify the existence of positive
inductive-recursive definitions by adapting Dybjer and Setzer's set-theoretic
model to our setting.
