Next: Inductive construction
Partial constructions
Peter Hancock
Basically very old, with a few updates near the front
In Chapter 16 (``General Trees') in ``Programming in Martin-Löf's
Type Theory'', Nordström. Petersson and Smith describe a inductive
construction for certain indexed families of sets of well-founded
trees. The whole family is defined by simultaneous induction,
in such a way that the definition of one member of the family may
depend on the definition of any other member. Indeed, part of the
interest of the construction is that it is a paradigm for (i.e. sums
up, distills, ..) a rather large class of inductive definitions in
which there is mutual dependency. The construction, described in
section 1 starts with a quadruple (A,B,C,d),
where:
- A is a Type. (It is called the base type of the quadruple).
- B(a) is a set, for a : A.
- C(a,b) is a set, for
a : A, b : B(a).
-
d(a,b,c) : A, for
a : A, b : B(a), c : C(a,b).
Such a structure is equivalent to a function which assigns to
each element of the base set a family of families of elements of the base set,
provided that ``family of A's'' is taken to mean ``function into A defined
on some set''. Here is how these things are defined in (informal)
constructive type theory:
Quadruples form the objects of various categories.
- In one, the arrows from
(A,B,C,d) to
(A',B',C',d') are (only slightly different from)
relations
such
I shall call these simulations of the first by the second.
I currently feel this is the most profitable notion of arrow.
(The slight differences have to do with whether you ask for
the objects to be compositionally closed, in the sense explained
somewhere in these notes: this is a kind of transitivity.)
As for objects, some kind of self-similarity is suggested
by `covering systems' in connection with formal topology, and also by
by bi-simulations in connection with process algebra.
- In another, the arrows from
(A,B,C,d) to
(A',B',C',d') are triples
:
such that
I shall call these functional simulations. (The general idea is to insist that
the relation is sigle valued.) It might be thought that these
are simpler than relational simulations (the first notion). But currently I
doubt it - one needs to say what one means by equality between states, which
seems rather god-like. (Maybe one can use mutual simulations or something.)
These notions of structure and map derive their interest from their
wide range of applications, notably to state machines
4, rule systems 5, and topology
6.
These pages collect together some notes about (A,B,C,d) structures,
related notions, and their applications.
They are rough, and should be read sceptically, if at all!
Figure 1:
A detail from a picture of a quadruple.
The boxes contain elements a of A. There is a exit line from a box
for each element of B(a), and that line has a fan-out indexed by
C(a,b). Taking the arrow indexed by c in that fanout leads to a
box containing d(a,b,c). The detail omits all exit lines but b:B(a),
and all entry arrows but c:C(a,b)
![\begin{figure}\begin{center}
\setlength{\unitlength}{1mm}
\begin{picture}
(75,6...
...){\framebox (20,10)[c]{$d(a,b,c) : A$ }}
\end{picture}\end{center}
\end{figure}](img12.gif) |
What may be new in these notes, compared to
the original Petersson-Synek concept is
- a slight extension of the tree construction, to admit leaf
nodes. This lets us model partial trees, and growth at the
leaves of a tree.
- a dual notion of tree, in which the role of b's and c's is
reversed.
- presentation of the tree constructions as operations on
quadruples. These operations are in fact functorial with respect to
the notion of map above.
- definition of `compositional closure' for quadruples
(3). The tree functors are closure operations.
- some discussion of triples (A,B,c). Triples can be used to
model binary relations, or directed graphs. Categories are (in some
sense) enrichments of triples.
Next: Inductive construction
Peter Hancock
1998-04-08