SUO: Re: Enchoiry on Colimits and Diagrams of Theories
Jon,
Of course, the best approach is to consult the established texts on the
subject. Myself, I was brought up on Saunders Mac Lane "Categories for the
Working Mathematician". However, there are many others. And all will deal
with colimits, and even for your amusement their dual called limits. There
is a web site devoted to category theory at http://www.mta.ca/~cat-dist/.
There is an online version of a book on category theory at
http://www.dcs.qmul.ac.uk/~pt/Practical_Foundations/html/ with
limits/colimits discussed in chapter 5
http://www.dcs.qmul.ac.uk/~pt/Practical_Foundations/html/c5.html. In the IFF
document (IFF-CATONT) introducing the category theory of ontologies at
http://www.ontologos.org/IFF/OntologyOntology/CategoryTheory.pdf, I made
extensive reference to Joe Goguen's old paper on "The Category Manifesto"
downloadable at http://www.cs.ucsd.edu/users/goguen/ps/manif.ps.gz. Starting
on page 56, the IFF-CATONT has three pages of discussion of the colimit part
of the IFF axiomatization of category theory in the upper metalevel IFF-CAT
http://suo.ieee.org/IFF/metalevel/upper/ontology/category-theory/version2002
0102.pdf. In general, the IFF approach to ontological representation
represents the spirit of *categorification* (see section 2 on "Equality and
Isomorphism") as discussed in the paper by John C. Baez and James Dolan:
"From Finite Sets to Feynman Diagrams" http://arxiv.org/pdf/math.QA/0004133.
Finally, I have created an IFF document called "Colimits in a Nutshell"
located at the address http://suo.ieee.org/IFF/nutshell/colimits.pdf. All
the details in this document, as applied to theories, will be needed in the
modular approach to the representation and maintenance of ontologies.
We can think of general colimits or special cases of these. Special cases
include coproducts, copowers, cokernels, coequalizers, pushouts and cokernel
pairs. Colimits operate on diagrams. You may recall that I am advocated the
notion of a diagram of theories as the IFF representation for the SUO notion
of a "library of modules". Given a category C, a diagram in C is a
collection of C-objects and C-morphisms between objects in the diagram. A
semantic integration example in the category Theory, whose objects are
theories and whose morphisms are theory morphisms, is a span consisting of
two theories, T1 and T2, that represent the independent conceptual
structures of two communities participating in the process of semantic
integration, plus a third reference or mediating theory that has been
constructed through negotiation to represent common ideas and semantics, and
two theory morphisms
T1 <--g1-- T0 --g2--> T2
which have been constructed by the respective communities to represent the
common semantics in their own terminology. In this example, the diagram maps
a shape or indexing graph
n1 <--e1-- n0 --e2--> n2
consisting of three nodes and two edges to the (set-theoretically large)
underlying graph |Theory|, whose nodes are theories and whose edges are
theory morphisms. This diagram may represent the first (semi-automatic) step
in semantic integration called alignment. The second and final step in
semantic integration is the automatic step of unification represented by
forming the pushout of the alignment diagram in the category of theories. In
general, a diagram in the category C is a graph morphism D : G --> |C| from
some shape or indexing graph G to the (often set-theoretically large)
underlying graph |C|, whose nodes are C-objects and whose edges are
C-morphisms. Also in general, the colimit construction builds a "sum" or
"fusion" of the diagram D. As usual, the most immediate examples appear in
the category Set, whose objects are sets and whose functions are between
sets. BTW, I have often used the more intuitive term sums for coproducts. In
Set, coproducts are disjoint unions. For example, although two sets A1 and
A2 may overlap, the disjoint union A1+A2 labels each component set element
with a canonical label, thereby separating them: A1+A2 = {(1,a1) for a1 in
A1} \union {(2,a2) for a2 in A2}. Also, included in this description are the
coproduct injection functions
A1 --i1--> A1+A2 <--i2-- A2
which do the labeling: i1(a1) = (1, a1) for all a1 in A1 and i2(a2) = (2,
a2) for all a2 in A2. Here the diagram in question has the shape or indexing
graph consisting of two nodes {n1, n2} but no edges. In general, colimits
are constructed over such "discrete" graphs (no edges). In Set, a pair of
functions that share source and target sets
A1 --f1, f2--> A2
is a diagram whose shape or indexing graph has two nodes {n1, n2} and two
edges {e1, e2}, with both edges linking n1 to n2. The colimit of this
diagram is called the coequalizer of the "projection" function
p : A2 --> A2/E
on the quotient set of A2 by the equivalence relation E \subset A2xA2
generated by the endorelation {(f1(a1), f2(a1)) | for a1 in A1}.
BTW, these Set examples, faithfully translate upward to the Theory examples
in which we are most interested.
Gotta go. More later.
Robert E. Kent
rekent@ontologos.org
----- Original Message -----
From: "Jon Awbrey" <jawbrey@oakland.edu>
To: "Robert E. Kent" <rekent@ontologos.org>
Cc: "John F. Sowa" <sowa@bestweb.net>; "Eric Peterson"
<epeterson@CCAAVA.com>; "SUO" <standard-upper-ontology@ieee.org>
Sent: Friday, June 27, 2003 8:22 PM
Subject: Enchoiry on Colimits and Diagrams of Theories
> o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o
>
> Robert,
>
> It would help a LOT if you could rustle up
> a simple example and show how all of the
> details work out in a concrete case.
>
> Myself, I just barely remember looking at a colimit diagram
> once and wondering what the heck it was all about, so maybe
> you could start by explaining that.
>
> I sort of remember how one defines initial and terminal objects
> in a category of diagrams. Is a diagram of theories anything
> like that?
>
> Also, I will have to find another word for module in this
> categorical context, because every time you say "module"
> I just can't help thinking that you are talking about
> a module. I will experiment with "component" for
> a while until I can think of something more apt.
>
> Thanks To The Limit,
> One More Time,
>
> Jon Awbrey
>
> o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o
>
> Robert E. Kent wrote:
> >
> > John, Eric and others,
> >
> > I am probably preaching to the choir again, but I think this needs some
> > comment in order for people to understand my current thinking of how the
> > IFF applies to modularity and centralization.
> >
> > The description below is precisely the rationale and motivation for
> > representing the library of modules in the IFF as a diagram of theories,
> > or even as multiple diagrams of theories. Each theory can be left in
place
> > undisturbed. Various operations such as subsetting, summing and
quotienting
> > can be applied to these theories to generate new theories. If it is
desired
> > to compose a "great big hierarchy with modules copied in, frozen into
place,
> > and relabeled to avoid inconsistencies", this is accomplished in a
> > straightforward manner:
> >
> > 1. Informally identify the theories that will be used
> > in the composition.
> >
> > 2. Formally create a (transient, since it will be used only for this
> > computation) diagram of theories T = {T_n} that indicates this
> > selection.
> >
> > 3. Form the colimit T* = col(T) of this diagram of theories, with
the
> > following sub-steps.
> >
> > 3.i. Compute the underlying base diagram of languages
> > L = base(T) = {L_n}= {base(T_n)}.
> >
> > 3.ii. Form the colimit L* = col(L) of this diagram of languages
> > with associated colimit injection language morphisms
> > {l_n : L_n --> L*}.
> >
> > 3.iii. Move the individual theories in T = {T_n} along the
language
> > colimit injection morphisms to the lattice of theories
LOT(L*),
> > getting the homogeneous diagram of theories flow(T) =
{flow(T)_n},
> > where each theory flow(T)_n = dir(expr(l_n))(T_n) has the
same
> > underlying base language L* (the meaning of homogeneous
in
> > this instance).
> >
> > 3.iv. Compute the meet (union) of the diagram flow(T) within the
> > lattice LOT(L*) getting the colimit theory
> > T* = col(T) = meet(flow(T)).
> >
> > The colimit T* is the desired "great big [centralized] hierarchy".
> > In the larger picture, it is just another theory. The original
> > theories have been left in place undisturbed.
> >
> > Robert E. Kent
> > rekent@ontologos.org
> >
> > ----- Original Message -----
> > From: "John F. Sowa" <sowa@bestweb.net>
> > To: "Eric Peterson" <epeterson@CCAAVA.com>
> > Cc: <jim.s3@juno.com>; <standard-upper-ontology@ieee.org>
> > Sent: Friday, June 27, 2003 3:21 AM
> > Subject: Re: SUO: Re: Charter vs. Consensus
> >
> > [snip]
> >
> > > That is just a repackaging of exactly the same mathematics, but
> > > to avoid inconsistencies, it uses relabeling instead of modules.
> > > However, I have not given up on modules. They are an essential
> > > step toward the development of the single hierarchy, and they are
> > > much more flexible for the development of special purpose ontologies.
> > >
> > > We could have both. If you want to regard the single hierarchy
> > > with lots of relabeled subtypes as "The Standard", be my guest --
> > > just as long as each of the subtypes is cross indexed to some module
> > > or modules in the registry from which the axioms were derived.
> > >
> > > Nevertheless, the modular approach gives you vastly more flexibility
> > > and potential for reuse. It allows you to reuse the same modules
> > > in different ways in different places. When you import a module into
> > > the big hierarchy and relabel the names to accommodate the particular
> > > position into which you inserted it, it is very hard to extract it
> > > again and reuse it somewhere else.
> > >
> > > And by the way, I never used the word "competing" for the modules,
> > > and the single hierarchy just moves any "competition" between modules
> > > into competition between disjoint subtypes. I would prefer to say
> > > that the modules are complementary, since many of the more general
> > > ones can be reused in multiple ways in many different places in
> > > the big hierarchy.
> > >
> > > Summary: I regard the lattice of modules to be the most important
> > > ontological resource we could develop. But I have no objections
> > > to having a great big hierarchy with modules copied in, frozen into
> > > place, and relabeled to avoid inconsistencies.
>
> o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o~~~~~~~~~o
>