The study of inductive and coinductive types (like finite lists and streams,
respectively) is usually conducted within the framework of category theory, which
to all intents and purposes is a theory of sets and functions between sets.
Allegory theory, an extension of category theory due to Freyd, is
better suited to modelling relations between sets as opposed to functions between sets.
The question thus arises of how to extend the standard categorical results on the
existence of final objects in categories (for example, coalgebras and products)
to their existence in allegories. The motivation is to streamline current work on
generic programming, in which the use of a relational theory rather than a
functional theory has proved to be desirable.
In this paper, we define the notion of a relational final dialgebra and prove, for an
important class of dialgebras, that a relational final dialgebra exists in an allegory
if and only if a final dialgebra exists in the underlying category of maps. Instances
subsumed by the class we consider include coalgebras and products. An important
lemma expresses bisimulations in allegorical terms and proves this equivalent to Aczel
and Mendler's categorical definition.