Subject: categories: Re: Michael Healy's question on math and AI

From: "zdiskin" <[email-masked]>
Date: Tue, 30 Jan 2001 16:21:41 -0800

It seems that a discussion "CT vs. ST " (despite some silent resistance 
at the beginning :) has nevertheless started in this list too, and is 
going in a few different directions ranging from rather technical thru 
methodological to philosophical aspects. Probably it's unavoidable (and
useful) when we talk about math in general and its applications but, as 
Bill Lawvere pointed, too much quite different stuff is packed into the 
same title of CTvsST and the type mismatch in the very discussion and 
its comprehension by the (rather diverse as I could guess) audience is
very possible. (Under type mismatch I mean something like this. Suppose 
we discuss the result of  multiplication 3 x 3. If the alternatives  are 
8,9 and, say, 12, we have good chances for a reasonable discussion, and 
if even the alternatives are 12, 37 and 111, type correctness is still 
respected and we have chances to achieve useful results, but if the 
alternatives to be discussed are 8, 9, that triangle and that <favorite 
keyword>, the situation is hopeless). So, some methodological 
arrangement and figuring out explicitly the relevant meanings of the 
CTvsST-problem would be useful.
 Here are a few contexts already touched in the discussion, where we 
deal with methodologically quite different problems whose merging under 
the same title CTvsST may be misleading.

 a). Ways of setting/defining math structures.

 The actual meaning of CTvsST here is the opposition between the 
following two ways (described by Steve Vickers yesterday, I'll just 
rephrase slightly his presentation).

--(1)  Math structure  Carrying set (of abstract elements) + 
Structure over it defined in terms of the elements (so, structure 
resides in elements of the carrier).

--(2)  Math structure  Category (collection of abstract objects and 
their morphisms) + Structure over it defined in terms of the morphisms 
(and then structure on a carrier object  resides in morphisms adjoint to 
it).

 The title CTvsST may be misleading here since in the both ways we use 
sets, their elements, mappings between them. To name the two ways 
somehow, I'd propose to call the 1st  one Boubakian (since this way of 
setting math structures got its classical completion in Bourbaki's 
volumes), and the 2nd one categorical. So, the actual opposition here is 
CatStr vs. BrbStr (but, of course, a category with structure is itself a 
Bourbakian math structure)

 This opposition is of extreme great relevance for software engineering, 
business modeling, knowledge representation ... but even brief outline 
of the reasons needs a more detailed description of the issue. Let's 
postpone that for a next posting. 

 b). Modeling (formalization) of set theory underlying the setting for 
math structures and reasoning about them (usually referred to as 
foundations).

 The actual meaning of CTvsST here is "categorical set theory" vs. 
"formal set theory(ies)" (ZF, NBG,...), or CatST vs. FrmST.

 This context and meaning are totally irrelevant to applications i 
question and asking about what is better, CT or ST, for applications in 
AI,SE, ... is very much like asking what is better for applications in 
mechanical engineering: the differential/integral calculi or ST;  or  
what is better for general theory of relativity, the tensor calculus or 
ST etc. 

 c). Modeling (formalization) of reasoning about math structures (often 
called metamathematics)

 Of course, what we have here depends on which way of setting math 
structures we consider: Bourbakian or categorical. Nevertheless, it's 
possible and make sense to treat reasoning about Bourbakian  structures 
categorically and, say, to treat reasoning about categories in a 
elementwise fashion.

 We again have two different approaches. Historically first (originated 
by Tarsky and Mal'cev) was formalization of first order logic (FOL, 
including syntax and semantics) in a quite immediate way now well known 
to a wide audience of quite different backgrounds including computer 
scientists and philosophers. This way is often referred to as "Tarskian 
formalization of the notion of truth", and let's call this entire style 
Tarskian MetaMathematics, TarMMath.

 The other approach was developed in CT and is usually called  
categorical logic, CatLog. So, the opposition we actually have here is 
CatLog vs. TarMMath, or, if you prefer, CatMMath vs. TarMMath.

 This oppostion, though of course connected with that in (a), CatStr vs. 
BrbStr, has its own peculiarities which are of extreme high relevance 
for knowledge representation, business modeling and similar domains. So, 
details here would be very useful but I'd again postpone them for a next
posting.

 So, as it was said in Lawvere's note, there are a few aspects of CTvsST 
(understood in the wide sense), some of them may be not relevant for 
applications (for example, b) while others are of great importance and 
deserve more detailed exposition (a,c).  On the other hand, all the 
three context we have considered are special cases of a quite general 
intellectual activity usually referred to as modeling. Mathematics is 
itself a special (very refined) discipline of modeling, and foundations 
and meta-mathematics are nothing but modeling math by math means (well, 
there are other means, say, philosophical :). It seems that to make 
these contexts more understandable for a wider audience (and for myself 
:), not only more details should be provided but some sketch of what 
modeling in general and math modeling in particular are, would be also 
useful. So, I'd ventured to sketch some general tutorial on applying 
math to engineering domains and to itself but certainly it's for a next 
posting.

 --Zinovy Diskin