Loading [MathJax]/extensions/TeX/newcommand.js

Friday, April 25, 2014

Double categories

\def\sh{\source{\text s}\black{\text{-h}}} \def\th{\target{\text t}\black{\text{-h}}} \def\sv{\source{\text s}\black{\text{-v}}} \def\tv{\target{\text t}\black{\text{-v}}} \bbox[navajowhite,24px,border:4px groove red]{\begin{array}{} \cdotp & \source{\xrightarrow{\textstyle\sv}} & \cdotp \\ \llap\sh \source{\big\downarrow} & & \target{\big\downarrow} \rlap\th\\ \cdotp & \target{\xrightarrow[\textstyle\tv]{}} & \cdotp \end{array}}
Loosely, a "double category" is a collection of abstract "squares",
of the form shown in the box at right.
Going either vertically or horizontally they form a category, with composition and identities.
Further, the compositions are compatible, a condition called the interchange law,
meaning that if four of them form a compatible 2x2 square, then
performing first horizontal, then vertical composition yields the same result as
performing first vertical, then horizontal composition.
That is a "symmetrical" definition of a double category.

There is also an unsymmetrical definition, which is also useful in many situations.
It defines a double category as an (internal) category in the category of categories, \Cat.

To best understand it we should briefly review the definition of internal category.
It starts with the notion of a graph in a category,
namely a diagram in that category of the form \begin{array}{} X_0 & \mathop\leftleftarrows\limits^{\source s}_{\target t} & X_1\end{array} Here X_0 is the "object of objects" and X_1 is the "object of arrows" of the category,
and the two arrows provide the source and target for the "arrows" in X_1.
A morphism of such graphs is a diagram of the form \begin{array}{} X_0 & \mathop\leftleftarrows\limits^{s_X}_{t_X} & X_1\\ \llap{f_0}\big\downarrow && \big\downarrow\rlap{f_1}\\ Y_0 & \mathop\leftleftarrows\limits^{s_Y}_{t_Y} & Y_1\\ \end{array} which serially commutes, meaning that s_X f_0 = f_1 s_Y and t_X f_0 = f_1 t_Y.
(If we view a graph X in a category as
a functor X from the abstract graph shape \leftleftarrows to the category,
then this condition amounts to saying
f is a natural transformation from the functor X to the functor Y.)
Finally, to make a graph X a category,
there must be defined a composition operation and an identity operation for the graph.
(We skip the details, see CWM, Chapter II, Section 7
or references on the web.)

Let use that definition to define an internal category in the category of internal categories (internal to the category of small sets, \Set).
It has an underlying graph of the form (drawn vertically for reasons soon to appear) \begin{array}{} C_1\\ \llap\sv\source{\big\downarrow}\target{\big\downarrow}\rlap\tv\\ C_0 \end{array} Since this is a diagram of internal categories,
C_0 and C_1 are themselves categories internal to \Set,
and \sv and \tv are internal functors, thus also graph morphisms, from C_1 to C_0.
Expanding the definitions, we have a diagram in \Set \bbox[navajowhite,10px,border:4px groove red]{\begin{array}{} V & = & (C_1)_0 & \mathop\leftleftarrows\limits^{\source{\textstyle\sh}}_{\target{\textstyle\th}} & (C_1)_1 & = & \{\,\text{squares}\,\}\\ & & \llap\sv\source{\big\downarrow} \target{\big\downarrow}\rlap\tv & & \llap\sv\source{\big\downarrow} \target{\big\downarrow}\rlap\tv \\ \{\,\text{0-cells}\,\} & = & (C_0)_0 & \mathop\leftleftarrows\limits^{\source{\textstyle\sh}}_{\target{\textstyle\th}} & (C_0)_1 & = & H\\ \end{array}} which serially commutes
(i.e., when matching top and bottom, and left and right, arrows are paired;
there are four such pairs, to be depicted momentarily).
The reasons for the V and H will also appear momentarily.

Okay, that diagram gives the internal category representation of this structure.
But now let us redraw that same data in a form which shows how this gives
the source and target operations for squares,
and explicitly shows the four squares (in \Set) required to commute to give serial commutativity.
Specifically: \bbox[navajowhite,10px,border:4px groove red]{\begin{array}{} \\ &&& H\\[-4ex] &&& \parallel\\[-4ex] & (C_0)_0 & \source{\xleftarrow{\textstyle\sh}} & (C_0)_1 & \target{\xrightarrow{\textstyle\th}} & (C_0)_0\\ & \llap{\textstyle\sv}\source{\big\uparrow} && \llap{\textstyle\sv}\source{\big\uparrow} && \source{\big\uparrow}\rlap{\textstyle\sv}\\ V =\!\!\! & (C_1)_0 & \source{\xleftarrow{\textstyle\sh}} & (C_1)_1 & \target{\xrightarrow{\textstyle\th}} & (C_1)_0 & \!\!\!= V\\ & \llap{\textstyle\tv}\target{\big\downarrow} && \llap{\textstyle\tv}\target{\big\downarrow} && \target{\big\downarrow}\rlap{\textstyle\tv}\\ & (C_0)_0 & \source{\xleftarrow[\textstyle\sh]{}} & (C_0)_1 & \target{\xrightarrow[\textstyle\th]{}} & (C_0)_0\\[-2ex] &&& \Vert\\[-2ex] &&& H\\ \end{array}} So we have:
(C_1)_1 = the set of all the squares,
(C_1)_0 = the set of all the vertical arrows, which we may call V,
(C_0)_1 = the set of all the horizontal arrows, which we may call H, and
(C_0)_0 = the set of all the 0-cells,
and \sv, \tv, \sh, and \th give the source-target operations at all the requisite levels.


The sketch for the last display:  
\bbox[navajowhite,10px,border:4px groove red]{\begin{array}{} \\ &&& H\\[-4ex] &&& \parallel\\[-4ex] & (0,0) & \source{\xleftarrow{\textstyle (s,0) }} & (1,0) & \target{\xrightarrow{\textstyle (t,0) }} & (0,0) \\ & \llap{\textstyle (0,s) }\source{\big\uparrow} && \llap{\textstyle.(1,s)}\source{\big\uparrow} && \source{\big\uparrow}\rlap{\textstyle (0,s) }\\ V =\!\!\! & (0,1) & \source{\xleftarrow{\textstyle (s,1)}} & (1,1) & \target{\xrightarrow{\textstyle (t,1)}} & (0,1) & \!\!\!= V\\ & \llap{\textstyle (0,t) }\target{\big\downarrow} && \llap{\textstyle (1,t)}\target{\big\downarrow} && \target{\big\downarrow}\rlap{\textstyle (0,t) }\\ & (0,0) & \source{\xleftarrow[\textstyle (s,0) ]{}} & (1,0) & \target{\xrightarrow[\textstyle (t,0) ]{}} & (0,0) \\[-2ex] &&& \Vert\\[-2ex] &&& H\\ \end{array}}

<hr />

The sketch folded, i.e.
the endospan replaced by a parallel pair.
\bbox[navajowhite,10px,border:4px groove red]{\begin{array}{} V = \!\!\! & (0,1) & \mathop\leftleftarrows\limits^{\textstyle \source {(s,1)}}_{\textstyle \target {(t,1)}} & (1,1)  &  \!\!\!  =  C  \\ & \llap{\textstyle (0,s) } \source{\big\downarrow} \target{\big\downarrow} \rlap{\textstyle (0,t) }  && \llap{\textstyle (1,s)} \source{\big\downarrow} \target{\big\downarrow} \rlap{\textstyle (1,t)} \\ O  = \!\!\! &  (0,0) & \mathop\leftleftarrows\limits^{\textstyle \source {(s,0)}}_{\textstyle \target {(t,0)}} & (1,0) &  \!\!\!  = H  \\ \end{array}}

No comments:

Post a Comment

MathJax 2.7.9