n-Categories - Sketch of a Definition

(letter from John Baez and James Dolan to Ross Street, Nov. 29, 1995; corrected version as of Dec. 3, 1995)

Dear Ross -

Before giving a rough sketch of our definition of (weak) n-categories, we each have a few rambling remarks to make about our current attitude to the whole problem of n-category theory. So: first John and then James....

John: I became interested in n-categories as a formalism for constructing n-dimensional extended topological quantum field theories, naively hoping that the definition might have been worked out already. After a few years of education I now understand that defining n-categories is an difficult mathematical problem in itself, but I still feel that the truly *central* problem is that of getting a theory of n-categories that "working mathematicians" (and physicists) can use as a tool. Indeed, one would eventually hope for n-category theory to recede into the background much as set theory does in current mathematical practice.

Clearly this goal is a long way off. However, it highlights certain disadvantages of relying on concepts derived from topology or geometry, such as simplices and the associahedron, to define n-categories. These tend to force one into explicit computations of a geometrico-combinatorial nature, when one would much rather be able to take advantage of the intuition that n-category theory simply means never having to say two things are equal when what one really has is an operation transforming one into the other. Of course, the problem is understanding the coherence laws that these "equations become operations" should satisfy. However, when this problem is solved, one should be able to *derive* the topology and geometry from a "purely logical" approach to n-categories.

We approach this problem using the theory of typed operads. This allows us to define the "slice operad" o+ of an operad o, in such a way that, roughly speaking: 1) the *types* of o+ are the *operations* of o, 2) the *operations* of o+ are the *reduction laws* of o (i.e., equations saying that composites of operations of o give other operations of o) and 3) the *reduction laws* of o+ are simply the ways of combining reduction laws of o to give other reduction laws.

Starting from the trivial operad and iterating the slice operad construction n times gives an operad whose operations have a natural interpretation as n-dimensional polytopes, which we call "opetopes". These play a basic role in our approach to n-categories. We are beginning to understand the relationship between these opetopes and the more familiar simplices and associahedra. We are also beginning to understand the Yang-Baxter equation in terms of opetopes, and I hope that using the "suspension" idea sketched in "Higher- dimensional algebra and TQFTs", we will eventually understand all the permutohedra and permutoassociahedra (i.e., higher commutativity coherence relations) starting from simple logical principles.

However, there is an enormous amount of work left to do in this direction, as well as other directions, such as understanding the [n+1]-category of n-categories. I hope that the various approaches people are pursuing will combine to speed up progress on all these issues. I look forward to any comments, questions, or critiques of our work. We are busily working on a much more detailed paper, but it will probably take a while to finish.

james: it's true that we have a precise definition of "(weak) n-category" that we think is "correct" in a certain sense. however, the situation is both less interesting and (perhaps) more interesting than that; let me try to explain.

(throughout the following i'll talk about "n-categories" and "strict n-categories" instead of "weak n-categories" and "n-categories" since the "weak" n-categories predominate.)

recall that, as envisioned by many people, we expect n-categories to form an [n+1]-category (and in fact the "primeval" [n+1]-category in a certain sense). but then, since we don't expect any usefully [n+2]-functorial concept of "underlying 1-category of an [n+1]-category" right adjoint to the process of interpreting 1-categories as special [n+1]-categories, it's not clear that there should even _be_ any such thing as "the 1-category of n-categories". that is awkward because, trying to build our mathematical foundations from the ground up, so far we hardly have any way of understanding mathematical "things" of any sort except by seeing those things as objects of some 1-category.

of course, we could instead try to make use of the expected [n+2]-functorial _left_ adjoint to the process of interpreting 1-categories as special [n+1]-categories. we could take the [n+1]-category of n-categories (if we had it!) and apply the left adjoint to it to obtain a 1-category. this 1-category would be very coarse; too coarse, in fact, since what were arbitrary 2-cells in the original [n+1]-category would get promoted to equations between morphisms in the 1-category, whereas the sensible thing to do would be to promote to equationhood only those 2-cells that are "equivalences" in an appropriate sense. so rather than the "ultra-coarse" 1-category of n-categories just described it would be better to pursue the "sensibly coarse 1-category of n-categories" obtained by first applying to the [n+1]-category of n-categories the process (also probably describable via certain adjoint processes) of discarding 2-cells that are non-equivalences, and then applying to the result the coarsening left adjoint process to get a 1-category.

_this_ 1-category, the "sensibly coarse 1-category of n-categories", is, i think, the thing we should all be trying to get our hands on. it is a good target because, i conjecture, though we may all develop the formalism of higher-dimensional categories in slightly different ways, we should all at least get the exact same sensibly coarse 1-category of n-categories- "exact same" in the unambiguous sense that we are all comfortable with, that the 1-categories should all be equivalent. (anyone who comes up with a concept of "n-category" not equivalent to the others in this sense must be chasing some fundamentally different intuition, i think. mostly though i think that a lot of people _are_ chasing essentially the same concept.)

thus i'm suggesting that this "sensibly coarse 1-category of n-categories", or "homotopy 1-category of n-categories" as we should probably call it, has a special status similar to the special status of the homotopy 1-category of homotopy n-types in homotopy theory. that is, lots of people have lots of pretty different "model categories" they use for studying homotopy n-types, but they all at least agree in that they all get the same homotopy 1-category of homotopy n-types in the end.

so it's in this (somewhat weak) sense that i think that the concept of "n-category" that baez and i have defined is "correct". we first define a certain 1-category of objects we call "n-categories"; if you like you can think of this as our "model category". then we single out a class of morphisms in the model category to be the "equivalences", and the localization of the model category with respect to the class of equivalences is the category we call the "homotopy 1-category of n-categories", and which we expect to be equivalent to appropriate localizations of a lot of other "model categories", including for example the category of "weak n-categories" (or a slight modification thereof) conjecturally defined by street some years ago, consisting of certain "simplicial sets with hollowness". in fact we think that probably any concept of "n-category" founded on a sufficiently rich concept of "pasting shapes with parity structures together in a sensible way" (involving also some concept similar to "thin-ness") will turn out equivalent to all the others in the sense discussed.

so in a cheap sort of way we've temporarily bypassed the task of defining the [n+1]-category of n-categories, settling for the moment for the homotopy 1-category of n-categories. of course in part this is because so far all our attempts at a direct approach to constructing a useful [n+1]-category of n-categories have failed. in fact our "model category" is actually the wreckage from those attempts; we still sometimes dream about getting it to fly. mostly though we are pursuing a sneakier, less direct approach to constructing the [n+1]-category of n-categories. since we have already defined the homotopy 1-category of [n+1]-categories, we can try to characterize the [n+1]-category of n-categories up to isomorphism in the homotopy 1-category of [n+1]-categories by, for example, describing its right universal property there, which we think will not be too complicated.

Perhaps i should also have tried here to explain some of the motivation that makes me think that there actually _is_ one particular useful and fairly precise concept of "n-category" lying out there, but it's taking me long enough to write this as is, so i won't.

n-Categories - Sketch of a Definition

So, here follows a sketch of our tentative definition of "n-category" and of the "homotopy 1-category of n-categories". (You might want to try reading the sketch backwards, starting from the end where the main definitions about n-categories are actually given and working back to the beginning which just establishes some terminology for dealing with operads of certain sorts.)

Notation: "svf(c)" denotes the category of set-valued functors on a small category c. "c^op" denotes the opposite of a category c. "|c|" denotes the underlying discrete category of a category c. "elt(f)" denotes the category of "elements" of a set-valued functor f.

Definition: for a small category c, the symmetric monoidal category of "c-families", written "fam(c)", is the category where an object is a finite ("multi-")set of objects of c, and a morphism from {c_1,...,c_j} to {c'_1,...,c'_k} is a bijection b: {1,...,j} -> {1,...,k} together with for each i in {1,...,j} a morphism m_i: c_i -> c'_b(i); morphisms compose in the evident manner, and the symmetric monoidal structure is give in the evident manner by "sum" of multi-sets.

fam(c) is the free symmetric monoidal category on c in an appropriate sense. In a similarly appropriate sense the category svf(fam(c)^op) of contra-variant set-valued functors on fam(c) is the free symmetric monoidal small-ly co-complete category on c.

Definition: the category of "c-profiles", written "prof(c)", is the category fam(c)^op X c.

Definition: the monoidal category of "c-signatures", written "sig(c)", is the category svf(prof(c)); it is a monoidal category because the universal property of svf(fam(c)^op) gives an equivalence of categories between sig(c) and the monoidal category of endomorphisms of the symmetric monoidal small-ly co-complete category svf(fam(c)^op).

Definition: the category of "c-operads" is the category of monoids in the monoidal category sig(c). for a c-operad o, an element of o({c_1,...,c_j},c') is called a "{c_1,...,c_j}-ary operation of type c'" in o. (you may if you wish think of a c-operad as a |c|-operad equipped with an appropriate realization of the morphisms of c as unary operations of the operad, that is operations with some singleton arity.)

Definition: for a c-operad o, the category of "o-algebras" is the category of actions of the monoid o upon objects of svf(c), via the evident action of sig(c) upon svf(c).

Definition: for a functor f: d -> c between small categories and a c-operad o, the "pullback operad of o along f", written "o_f", is the d-operad whose underlying svf is

                             f_*            o
                    prof(d)  --->  prof(c)  ->  set
and where the composition of operations is as in o. (In other words, [f_*]^* is a lax homomorphism from sig(c) to sig(d), and thus takes monoids in sig(c) to monoids in sig(d).)

In the special case where f is the projection from the category of elements of an o-algebra, there is an important sub-operad of the pullback operad o_f:

Definition: for a c-operad o and an o-algebra a, the "slice operad of a", written "a+", is the elt(a)-operad whose algebras are o-algebras equipped with homomorphisms into a. in other words, a+ is the sub-operad of o_elt(a), where an operation g: {a1,...,an} -> a' is included iff it satisfies g(a1,...,an) = a'. (Here we abuse language by writing o_elt(a) for o_p where p is the projection from elt(a).)

Observation: c-operads are themselves the algebras of a certain prof(c)-operad, and in this way we can apply the operator "+" to operads themselves.

Definition: for a c-operad o, an "o-opetopic set" is defined recursively as an object s of svf(c) together with an [o_s]+-opetopic set. For a fixed o there is then a fairly obvious notion of "morphism" of o-opetopic sets.

Observation: if c is a groupoid then the category of o-opetopic sets is the topos of presheaves on a certain category, which we call the category of "o-opetopes". We call the elements of an o-opetopic set "cells", or more specifically elements over the o-opetope t "t-cells". Any o-opetope t has a nonnegative integer "dimension" corresponding to the stage of the recursion at which the t-cells appear.

In the special case where c = 1 and o is the initial c-operad (this being the operad whose algebras are just sets), we call the category of o-opetopes simply the category of "opetopes". A k-dimensional opetope can be pictured as a special sort of abstract k-dimensional polytope or "pasting scheme" embodying the operation of composing zero or more opetopes of dimension k-1 (the "infaces") into a single composite opetope, also of dimension k-1 (the "outface").

n-categories will be defined as opetopic sets with certain special properties. In order to describe these properties we need some terminology concerning opetopic sets, and to quickly convey the meaning of these terms, rather than give precise formal definitions we will use the following schematic picture of a t-cell x with infaces a_{1},...,a_{m} and outface b:

                                  x
                (a_{1},...,a_{m}) > b
A configuration just like this (that is, satisfying all the incidence relations satisfied by the boundary of a t-cell) except with x itself missing:
                                  ?
                (a_{1},...,a_{m}) -> b
will be called a "t-frame". (Note: in the degenerate case where t is a 0-dimensional opetope we still speak of t-frames, even though a 0-dimensional cell has no infaces or outface.)

A configuration where b is also missing:

                                  ?
                (a_{1},...,a_{m}) -> ?
will be called a "t-niche". (Notice this is similar to the concept of a "horn" in a simplicial set.)

Finally, a configuration where also some inface a_j is missing:

                                                        ?
                (a_{1},...,a_{j-1},?,a_{j+1},...,a_{m}) -> ?
will be called a "punctured t-niche".

In the case where one of these configurations (t-frame, t-niche, or punctured t-niche) can be extended to an actual t-cell, the t-cell is called an "occupant" of the configuration. Occupants of the same frame (resp. niche) are called "frame-competitors" (resp. "niche-competitors").

Fix a nonnegative integer n.

Because the faces of an opetope t are themselves opetopes of one lower dimension, faces of a t-cell may themselves be thought of as occupants of frames. This change of viewpoint, or "level-shifting", is crucial in the following mutually recursive pair of definitions.

Definition: for a k-dimensional opetope t, a punctured t-niche:

                                                     ?
              (a_{1},...,a_{j-1},?,a_{j+1},...a_{m}) -> ?

is said to be "balanced" iff k>n+1, or:

1. any extension

                                                     ?
              (a_{1},...,a_{j-1},?,a_{j+1},...a_{m}) -> b
extends further to:
                                                         u
              (a_{1},...,a_{j-1},a_{j},a_{j+1},...a_{m}) -> b
with u universal in its niche, and

2. for any occupant

                                                         u
              (a_{1},...,a_{j-1},a_{j},a_{j+1},...a_{m}) -> b
universal in its niche, and frame-competitor a'_{j} of a_{j}, the [k+1]-dimensional punctured niche:
              ?                                                     u
      (a'_{j} -> a_{j}, (a_{1},...,a_{j-1},a_{j},a_{j+1},...,a_{m}) -> b)

                              |
                              |
                              | ?
                              |
                             \|/
                                                          ?
              (a_{1},...,a_{j-1},a'_{j},a_{j+1},...a_{m}) -> b
is balanced.

Definition: a k-dimensional niche-occupant:

                                       u
                     (c_{1},...,c_{m}) -> d
is said to be "universal" iff k>n and u is its own unique niche-competitor, or k<=n and for any frame-competitor d' of d, the [k+1]-dimensional punctured niche:
                                     u       ?
                  ((c_{1},...,c_{m}) -> d, d -> d')

                              |
                              |
                              | ?
                              |
                             \|/
                                         ?
                       (c_{1},...,c_{m}) -> d'

is balanced.

Definition: Given a universal t-cell

                                  u
                (a_{1},...,a_{m}) -> b
we call b a "composite" of (a_{1},...,a_{m}). (We may say "t-composite" if we need to be more specific.)

Definition: an "n-category" is a presheaf on the category of opetopes such that 1) every niche has a universal occupant, and 2) composites of universal cells are universal.

Definition: an "n-functor" is a presheaf map between n-categories such that images of universal cells are universal.

Definition: an n-functor f: a -> b is said to be an "n-equivalence" if every 0-dimensional cell in b is connected to a 0-dimensional cell in the image of f by a universal 1-dimensional cell, and f restricted to the [n-1]-category "hom(c,d)" of occupants of any 1-dimensional frame

                        ?
                      c -> d
is an [n-1]-equivalence. 0-categories being essentially just sets, we define the 0-equivalences to be the bijections.

Definition: the "homotopy 1-category of n-categories" is the localization of the category of n-categories and n-functors with respect to the n-equivalences.

Sincerely, John Baez and James Dolan