Monday, January 15, 2007

More on N-category theory

My former colleague at STL, Roy Simpson, wrote to set me straight (or at least straighter) on N-category theory, mentioned in a previous post here. I quote from his email.

-------------------------

“Nigel,

I hadn’t heard of N-category theory before, but I have had a look at that and a couple of other papers by J. Baez. What this paper is actually doing (as a summary) is taking category theory up into "higher dimensions". Thus the category theory of abstract data types and of set theory is really just 1-category theory, in this terminology. Things appear to have moved on from there now though (at least during the 1990s).

So (1-)categories have objects and morphisms between them (plus maybe a few rules like association). 2-Categories have "morphisms between morphisms". These 2-morphisms have association rules too, but they can be composed "vertically - i.e. the underlying 1-morphisms" or "horizontally - i.e. as 2-morphisms" as they can be viewed more as 2-dimensional objects. There is a giant commutative diagram showing how this association would work.

Much of "known applications" seems to be at this 2-category level. However the development continues into 3-categories ... on to the general N-category and there is even an upper limit of an omega-category.

One key attraction seems to be that in category theory one doesn’t have equations like:

a = b (meaning a is exactly b), but rather

a ~ b (meaning a is b "up to isomorphism"),

then the "rules" defining what an N-isomorphism is are set at the N+1-category level. Hence the journey to the omega-category. As you know vectors are equal "given a choice of basis" and sets can be isomorphic - yet not have identical elements.

In terms of computer science there are two areas of application mentioned:

1. Baez refers to the high level morphisms as "processes between processes between processes....."

I have yet to find if any computer scientist has done anything with this idea though.

2. N-Categories have been described as a "semantics for higher order type theory". There are papers from - as usual - Edinburgh University on this.

On the physics side we find Baez (another regular blogger on physics by the way) referring to e.g. Feynman path integrals as morphisms. String theory takes it all into higher dimension. Despite all the enthusiasm he spouts for this area I have yet to see exactly where he is going with it though. More study required here I suppose!

Finally it is remarkable the statements he makes about N-category theory. At one point he says that quantum mechanics was Nature's way to make science pay attention to N-categories. At another point he describes the scientific "drop" from the omega-category to the 1-category of sets as like the Gnostic description of Mankind's fall.

So the overall diagram seems to be:

(QM) Physics
<--->
N-Categories
<--->
Computer Science (e.g. type semantics)”

-------------------------

Back to me again. So ... there folks, clearer now?

Anti-intellectualism aside, I guess it makes some sense. A process is a running program. An example of a process which maps processes to processes might be an operating system scheduler. To move up a level we might consider an adaptive operating system which modifies its own process-scheduling algorithms (e.g. under load). The analogy with higher-order functions (and therefore higher-order type semantics) is fairly clear. Sadly I’m not qualified to debate the take on physics.

A less kind thought is that if you have a hammer, everything in the world looks remarkably like a nail.

Put it down to that I’m a little bit jaundiced that I don’t get paid to do this for a living any more!