The Unapologetic Mathematician

Mathematics for the interested outsider

The Tensorator for Span 2-categories

I’ve just had a breakthrough today on my project to add structures to 2-categories of spans. I was hoping to generalize from the case of a monoidal structure on the base category \mathcal{C} that preserved pullbacks. After some discussions with John Baez and Todd Trimble (to whom I’m much indebted), I set off on this new quest and ran into some difficulties. Finally I’ve established that in order to have a well-behaved tensorator we must assume that the monoidal structure preserves pullbacks! This is a bit of a downer, in that I was really hoping to construct a wider class of braided monoidal 2-categories with duals, but at least it covers the cases that originally drew me to the problem. With luck there will still be something interesting here. Anyhow, let’s see how this works.

First we have to consider a span B\xleftarrow{f}A\xrightarrow{g}C. We want this to be invertible, and further we want its inverse to be its reflection C\xleftarrow{g}A\xrightarrow{f}B. When we pull back g over itself we get a square
Unitary Span Condition 1
Here we can swap x_l and x_r to get a unique arrow \beta:B\rightarrow B with x_l\circ\beta=x_r. For this to give us the identity span on B we need to have f\circ x_l=1_B=f\circ x_l\circ\beta. This tells us that \beta=1_B, and we will say f' for the equal arrows x_l=x_r, which is a right inverse for f: f\circ f'=1_B. Similarly we find a right inverse g' for g.

Now we use the universality of the pullback in the diagram
Unitary Span Condition 2
to give us a unique arrow x with f'\circ x=g', and similarly a unique arrow y with g'\circ y=f'. Then we see that f'\circ 1_B=f'=f'\circ x\circ y, and the universality condition tells us that 1_B=x\circ y, while 1_C=y\circ x. And thus for the span we started with to have an inverse of the right form we must have B\cong C.

Now we look for a tensorator \bigotimes_{f,g}:(f\otimes B')\circ(A\otimes g)\Rightarrow(A'\otimes g)\circ(f\otimes B). We start with spans
and we must find a span between the pullback objects (F\otimes B')\circ(A\otimes G) and (A'\otimes G)\circ(F\otimes B). Further, we will want this span to have its own reflection for an inverse, as above. But as we just showed, this means that the two objects at the ends of its legs must always be isomorphic.

Now we can specialize to pick A'=F, f_r=1_F, B=G, and g_l=1_G. Then the one leg of the tensorator span will be F\otimes G, and so the other leg must be as well, no matter what we choose for f_l and g_r! That is, to have any hope of finding such a well-behaved tensorator, the monoidal product on \mathcal{C} must preserve pullbacks!


November 7, 2007 Posted by | Category theory | 1 Comment

Chain Homotopies and Homology

Sorry about going AWOL yesterday, but I got bogged down in writing another exam.

Okay, so we’ve set out chain homotopies as our 2-morphisms in the category \mathbf{Kom}(\mathcal{C}) of chain complexes in an abelian category \mathcal{C}. We also know that each of these 2-morphisms is an isomorphism, so decategorifying amounts to saying that two chain maps are “the same” if they are chain-homotopic.

Many interesting properties of chain maps are invariant under chain homotopies, which means that they descend to properties of this decategorified version. Alternately, some properties are defined by 2-functors, which means that if we apply a chain homotopy we change our answer by a 2-morphism in the target 2-category, which must itself be an isomorphism. I like to call these “homotopy covariants”, rather than “invariants”. Anyway, then the decategorification of this property is an invariant, and what I said before applies.

The big one of these properties we’re going to be interested in is the induced map on homology. Let’s consider chain complexes A and B, chain maps f and g from A to B, and let’s say there’s a chain homotopy \alpha:f\Rightarrow g. The chain maps induce maps \widetilde{f}:H_\bullet(A)\rightarrow H_\bullet(B) and \widetilde{g}:H_\bullet(A)\rightarrow H_\bullet(B). I assert that \widetilde{f}=\widetilde{g}.

To see this, first notice that passing to the induced map is linear. That is, \widetilde{f}-\widetilde{g}=\widetilde{f-g}. So all we really need to show is that a null-homotopic map induces the zero map on homology. But if \alpha:f\Rightarrow0 makes f null-homotopic, then f_n=d^B_{n+1}\circ\alpha_n+\alpha_{n-1}\circ d^A_n. When we restrict f_n to the kernel of d^A_n, this just becomes d^B_{n+1}\circ\alpha_n, which clearly lands in the image of d^B_{n+1}, which is zero in H_n(B), as we wanted to show.

Now if we have chain maps f:A\rightarrow B and g:B\rightarrow A along with chain homotopies g\circ f\Rightarrow1_A and f\circ g\Rightarrow1_B, we say that A and B are “homotopy equivalent”. Then the induced maps on homology \widetilde{f}:H_\bullet(A)\rightarrow H_\bullet(B) and \widetilde{g}:H_\bullet(B)\rightarrow H_\bullet(A) are inverses of each other, and so the homologies of A and B are isomorphic.

This passage from covariance to invariance is the basis for why Khovanov homology works. We start with a 2-category \mathcal{T}ang of tangles (which I’ll eventually explain fore thoroughly). Then we pick a ring R and consider the 2-category \mathbf{Kom}(R\mathbf{-mod}) of chain complexes over the abelian category of R-modules. We construct a 2-functor K:\mathcal{T}ang\rightarrow\mathbf{Kom}(R\mathbf{-mod}) that picks a chain complex for each number of free ends, a chain map for each tangle, and a chain homotopy for each ambient isotopy of tangles. Then two isotopic tangles are assigned homotopic chain maps — the chain map is a “tangle covariant”. When we pass to homology, we get tangle invariants, which turn out to be related to well-known knot invariants.

October 19, 2007 Posted by | Category theory | 3 Comments

Chain Homotopies

We’ve defined chain complexes in an abelian category, and chain maps between them, to form an \mathbf{Ab}-category \mathbf{Kom}(\mathcal{C}). Today, we define chain homotopies between chain maps, which gives us a 2-category.

First, we say that a chain map f:A\rightarrow B given by f_n:A_n\rightarrow B_n is “null-homotopic” if we have arrows h_n:A_n\rightarrow B_{n+1} such that f_n=d^B_{n+1}\circ h_n+h_{n-1}\circ d^A_n. Here’s the picture:
Chain Homotopy
In particular, the zero chain map with f_n=0 for all n is null-homotopic — just pick h_n=0.

Now we say that chain maps f and g are homotopic if f-g is null-homotopic. That is, f_n-g_n=d^B_{n+1}\circ h_n+h_{n-1}\circ d^A_n. We call the collection h=\{h_n\} a chain homotopy from f to g. Then a chain map is null-homotopic if and only if it is homotopic to the zero chain map. We can easily check that this is an equivalence relation. Any chain map is homotopic to itself because f_n-f_n=0 and the zero chain map is null-homotopic. If f and g are homotopic by a chain homotopy h, then -h is a chain homotopy from g to f. Finally, if f-f' is null-homotopic by h and f'-f'' is null-homotopic by h', then f-f''=(f-f')+(f'-f'') is null-homotopic by h+h'.

Another way to look at this is to note that we have an abelian group \hom_{\mathbf{Kom}(\mathcal{C})}(A,B) of chain maps from A to B, and the null-homotopic maps form a subgroup. Then two chain maps are homotopic if and only if they differ by a null-homotopic chain map, which leads us to consider the quotient of \hom_{\mathbf{Kom}(\mathcal{C})}(A,B) by this subgroup. We will be interested in properties of chain maps which are invariant under chain homotopies — properties that only depend on this quotient group.

In the language of category theory, the homotopies h:f\Rightarrow g are 2-morphisms. Given 1-morphisms (chain maps) f, f', and f'' from A to B, and homotopies h:f\Rightarrow f' and h':f'\Rightarrow f'', we compose them by simply adding the corresponding components to get h+h':f\Rightarrow f''.

On the other hand, if we have 1-morphisms f and g from A to B, 1-morphisms f' and g' from B to C, and 2-morphisms h:f\Rightarrow g and h':f'\Rightarrow g', then we can “horizontally” compose these chain homotopies to get h'\circ h:f'\circ f\Rightarrow g'\circ g with components (h'\circ h)_n=h'_n\circ f_n+g'_{n+1}\circ h_n. Indeed, we calculate
d^C_{n+1}\circ(h'_n\circ f_n+g'_{n+1}\circ h_n)+(h'_{n-1}\circ f_{n-1}+g'_n\circ h_{n-1})\circ d^A_n=
d^C_{n+1}\circ h'_n\circ f_n+d^C_{n+1}\circ g'_{n+1}\circ h_n+h'_{n-1}\circ f_{n-1}\circ d^A_n+g'_n\circ h_{n-1}\circ d^A_n=
d^C_{n+1}\circ h'_n\circ f_n+h'_{n-1}\circ d^B_n\circ f_n+g'_n\circ d^B_{n+1}\circ h_n+g'_n\circ h_{n-1}\circ d^A_n=
(d^C_{n+1}\circ h'_n+h'_{n-1}\circ d^B_n)\circ f_n+g'_n\circ(d^B_{n+1}\circ h_n+h_{n-1}\circ d^A_n)=
(f'_n-g'_n)\circ f_n+g'_n\circ(f_n-g_n)=
f'_n\circ f_n-g'_n\circ g_n

We could also have used h_n\circ f'_n+g_{n+1}\circ h'_n and done a similar calculation. In fact, it turns out that h'_n\circ f_n+g'_{n+1}\circ h_n and h_n\circ f'_n+g_{n+1}\circ h'_n are themselves homotopic in a sense, and so we consider them to be equivalent. If we pay attention to this homotopy between homotopies, we get a structure analogous to the tensorator. I’ll leave you to verify the exchange identity on your own, which will establish the 2-categorical structure of \mathbf{Kom}(\mathcal{C}).

One thing about this structure that’s important to note is that every 2-morphism is an isomorphism. That is, if two chain maps are homotopic, they are isomorphic as 1-morphisms. Thus if we decategorify this structure by replacing 1-morphisms by isomorphism classes of 1-morphisms, we are just passing from chain maps to homotopy classes of chain maps. In other words, we pass from the abelian group \hom_{\mathbf{Kom}(\mathcal{C})}(A,B) of chain maps to its quotient by the null-homotopic subgroup.

October 17, 2007 Posted by | Category theory | 5 Comments

Chain maps

As promised, something lighter.

Okay, a couple weeks ago I defined a chain complex to be a sequence \cdots\rightarrow C_{i+1}\stackrel{d_{i+1}}{\rightarrow}C_i\stackrel{d_i}{\rightarrow}C_{i-1}\rightarrow\cdots with the property that d_{i-1}\circ d_i=0. The maps d_i are called the “differentials” of the sequence. As usual, these are the objects of a category, and we now need to define the morphisms.

Consider chain complexes C=\cdots\rightarrow C_{i+1}\rightarrow C_i\rightarrow C_{i-1}\rightarrow\cdots and D=\cdots\rightarrow D_{i+1}\rightarrow D_i\rightarrow D_{i-1}\rightarrow\cdots. We will write the differentials on C as d^C_i and those on D as d^D_i. A chain map f:C\rightarrow D is a collection of arrows f_i:C_i\rightarrow D_i that commute with the differentials. That is, f_{i-1}\circ d^C_i=d^D_i\circ f_i. That these form the morphisms of an \mathbf{Ab}-category should be clear.

Given two chain complexes with zero differentials — like those arising as homologies — any collection of maps will constitute a chain map. These trivial complexes form a full \mathbf{Ab}-subcategory of the category of all chain complexes.

We already know how the operation of “taking homology” acts on a chain complex. It turns out to have a nice action on chain maps as well. Let’s write Z_i(C) for the kernel of d^C_i and B_i(C) for the image of d^C_{i+1}, and similarly for D. Now if we take a member (in the sense of our diagram chasing rules) x\in_mC_i so that d^C_i\circ x=0, then clearly d^D_i\circ(f_i\circ x)=f_{i-1}\circ d^C_i\circ x=0. That is, if we restrict f_i to Z_i(C), it factors through Z_i(D). Similarly, if there is a y\in_mC_{i+1} with d^C_{i+1}\circ y=x, then f_i\circ x=d^D_{i+1}(\circ f_{i+1}\circ y), and thus the restriction of f_i to B_i(C) factors through B_i(D).

So we can restrict f_i to get an arrow f_i:Z_i(C)\rightarrow Z_i(D) which sends the whole subobject B_i(C) into the subobject B_i(D). Thus we can pass to the homology objects to get arrows \widetilde{f}_i:H_i(C)\rightarrow H_i(D). That is, we have a chain map from H(C) to H(D). Further, it’s straightforward to show that this construction is \mathbf{Ab}-functorial — it preserves addition and composition of chain maps, along with zero maps and identity maps.

October 16, 2007 Posted by | Category theory | 4 Comments

A New Definition of Spans

I was trying to add in duals to the theory, and I ran into some trouble. The fix seems to be something I’d considered a little earlier for a possible generalization, but it seems that duals force the issue. We need to tweak our definition of spans.

Now, most of the definition is fine as it stands. Our objects are just the same as in \mathcal{C}, and our 1-morphisms are spans A\stackrel{f_l}{\leftarrow}X\stackrel{f_r}{\rightarrow}B. When I first (re)invented these things, I stopped at this level. I handled the associativity not with 2-morphisms, but with defining two spans A\stackrel{f_l}{\leftarrow}X\stackrel{f_r}{\rightarrow}B and A\stackrel{g_l}{\leftarrow}Y\stackrel{g_r}{\rightarrow}B to be equivalent if there was an isomorphism \alpha:X\rightarrow Y so that f_l=g_l\circ\alpha and f_r=g_r\circ\alpha. Then I said that the 1-morphisms were equivalence classes of spans, giving me a 1-category.

Now \mathcal{C} still sits inside this category I’ll call \mathbf{Span}_1(\mathcal{C}). Indeed, if we use the same inclusion as before, the only way two arrows of \mathcal{C} can be isomorphic in \mathbf{Span}(\mathcal{C}) (and thus equal in \mathbf{Span}_1(\mathcal{C})) is for them to be equal already in \mathcal{C}.

But we want to pay attention to those 2-morphisms, and that’s where things start to get interesting. See, those arrows \alpha:X\rightarrow Y are nice as 2-morphisms, but they’re not very.. “spanny”. Instead, let’s define a 2-morphism from A\stackrel{f_l}{\leftarrow}X\stackrel{f_r}{\rightarrow}B to A\stackrel{g_l}{\leftarrow}Y\stackrel{g_r}{\rightarrow}B to be itself a span X\stackrel{\alpha_l}{\leftarrow}M\stackrel{\alpha_r}{\rightarrow}Y satisfying f_l\circ\alpha_l=g_l\circ\alpha_r and f_r\circ\alpha_l=g_r\circ\alpha_r. Here’s the picture:
The New Definition of a 2-morphism

Now, we handle the associativity at the 2-morphism level by cutting off the same way we did in \mathbf{Span}_1(\mathcal{C}) and say that a 2-morphism is really an equivalence class of spans. This makes the vertical composition of 2-morphisms just the same pullback construction as for the composition of 1-morphisms.

The horizontal composition of these 2-morphisms gets tricky. Here’s another picture:
Composition of 2-Morphisms
Here we have our two 2-morphisms and we’ve already pulled back to get the 1-morphisms for the source and target of the composition. We write \alpha:M\rightarrow A' for the composite f_r\circ\alpha_l=g_r\circ\alpha_r, and similarly \alpha' on the other side.

Now we can pull back the diagram M\stackrel{\alpha}{\rightarrow}A'\stackrel{\alpha'}{\leftarrow}M' to get an object M'' with arrows to M and M'. If we follow these arrows, then up to X and X' (respectively) the universal property of X'' gives us a unique arrow from M'' to X''. Similarly, we have a unique arrow from M'' to Y''. These arrows make the required squares commute, and so define a span from X'' to Y'' which is our composite 2-morphism.

When we compose two spans, again we only have associativity up to isomorphism. In \mathbf{Span}_1(\mathcal{C}), this becomes an equality, so we’re fine. In \mathbf{Span}(\mathcal{C}) we made this isomorphism a 2-morphism between the two composite spans. Now in \mathbf{Span}_2(\mathcal{C}) we can make this isomorphism into one leg of a span 2-morphism, and everything works out as before. The exchange identity for the two compositions of 2-morphisms also works out, but it’s even more complicated than the definition of horizontal composition.

Seriously, does anyone know of a tool that will render commutative diagrams in 3-D, like with Java or something? This is getting ridiculous.

Anyhow, I think now I can throw away the request that the monoidal structures on \mathcal{C} play nice with the pullbacks. Unfortunately, it’s getting a lot more complicated now and I have other real-world obligations I’ve got to attend to. So I think I’ll back-burner this discussion and move back to something old rather than spend too much time working this stuff out live as I have been doing.

October 15, 2007 Posted by | Category theory | 6 Comments

Braidings on Span 2-Categories

Now that we can add a monoidal structure to our 2-category of spans, we want to add something like a braiding.

So, what’s a braided monoidal 2-category? Again, we need some data:

  • For any objects A and B an equivalence R_{A,B}:A\otimes B\rightarrow B\otimes A called the “braiding” of A and B.
  • For any 1-morphism f:A\rightarrow A' and object B, a 2-isomorphism R_{f,B}:R_{A',B}\circ(f\otimes B)\Rightarrow(B\otimes f)\circ R_{A,B} called the braiding of f and B.
  • For any object A and morphism g:B\rightarrow B', a 2-isomorphism R_{A,g}:R_{A,B'}\circ(A\otimes g)\Rightarrow(g\otimes A)\circ R_{A,B} called the braiding of A and g.
  • For any objects A, B, and C, 2-isomorphisms \tilde{R}_{(A|B,C)}:(B\otimes R_{A,C})\circ(R_{A,B}\otimes C)\Rightarrow R_{A,B\otimes C} and \tilde{R}_{(A,B|C)}:(R_{A,C}\otimes B)\circ(A\otimes R_{B,C})\Rightarrow R_{A\otimes B,C} called the “braiding coherence 2-morphisms”.

We define the braiding to be an equivalence rather than an isomorphism because we don’t want to ask it to be exactly invertible. That is, there will be another 1-morphism R^*_{A,B}:B\otimes A\rightarrow A\otimes B with 2-isomorphisms R^*_{A,B}\circ R_{A,B}\cong1_{A\otimes B} and R_{A,B}\circ R^*_{A,B}\cong1_{B\otimes A}. The 2-isomorphisms braiding objects with 1-morphisms act in the place of naturality relations, allowing us to pull 1-morphisms back and forth through the object braiding. And then the hexagon identities from the definition of a braiding in a 1-category are now weakened to the braiding coherence 2-morphisms.

So, where are we going to find this structure for our bicategory \mathbf{Span}(\mathcal{C})? Well, let’s assume we have a braiding \beta_{A,B} on \mathcal{C}. Then we’ll just define R_{A,B} to be the span (A\otimes B)\stackrel{1_{A\otimes B}}{\leftarrow}(A\otimes B)\stackrel{\beta_{A,B}}{\rightarrow}(B\otimes A). This is actually a 1-isomorphism, using the obvious inverse.

As we saw before with the tensorator, it turns out that we can set all of the R_{f,B} and the R_{A,g} to be the appropriate identities, as well as all the braiding coherence relations. Requiring the the monoidal product on \mathcal{C} preserve pullbacks turns out to be an extremely powerful condition!

And now what are the conditions that make this data into a braided monoidal 2-category?

  1. For 1-morphisms f:A\rightarrow A' and g:B\rightarrow B', we have
    (\bigotimes_{g,f}\circ R_{A,B})\bullet((g\otimes A')\circ R_{f,B})\bullet(R_{A',g}\circ(f\otimes B))=
    ((B'\otimes f)\circ R_{A,g})\bullet(R_{f,B'}\circ(A\otimes g))\bullet(R_{A',B'}\circ\bigotimes_{f,g}^{-1})
  2. For any 1-morphisms f:A\rightarrow A' and f':A\rightarrow A', 2-morphism \alpha:f\Rightarrow f', and object B, we have
    ((B\otimes\alpha)\circ R_{A,B})\bullet R_{f,B}=R_{f',B}\bullet(R_{A',B}\circ(\alpha\otimes B))
  3. For any 1-morphisms g:B\rightarrow B' and g':B\rightarrow B', 2-morphism \beta:g\Rightarrow g', and object A, we have
    ((A\otimes\beta)\circ R_{A,B})\bullet R_{A,g}=R_{A,g'}\bullet(R_{A,B'}\circ(\beta\otimes A))
  4. For any 1-morphisms f:A\rightarrow A' and f':A'\rightarrow A'' and object B, we have
    ((B\otimes f')\circ R_{f,B})\bullet(R_{f',B}\circ(f\otimes B))=R_{f'\circ f,B}
  5. For any 1-morphisms g:B\rightarrow B' and g':B'\rightarrow B'' and object A, we have
    ((A\otimes g')\circ R_{A,g})\bullet(R_{A,g'}\circ(A\otimes g))=R_{A,g'\circ g}
  6. For any objects A, B, and C, and 1-morphism f:C\rightarrow C', we have
    R_{A,B\otimes f}\bullet(\tilde{R}_{(A|B,C')}\circ(A\otimes B\otimes f))=
    ((B\otimes f\otimes A)\circ\tilde{R}_{(A|B,C)})\bullet((B\otimes R_{A,f})\circ(R_{A,B}\otimes C))\bullet((B\otimes R_{A,C'})\circ\bigotimes_{R_{A,B},f})
  7. There are five more conditions like the last one, with the 1-morphism in other slots and different associations of the three terms.
  8. For any objects A, B, C, D, we have
    \tilde{R}_{(A|B,C\otimes D)}\bullet((B\otimes\tilde{R}_{(A|C,D)})\circ(R_{A,B}\otimes C\otimes D))=
    \tilde{R}_{(A|B\otimes C,D)}\bullet((B\otimes C\otimes R_{A,D})\circ(\tilde{R}_{(A|B,C)}\otimes D))
  9. There are two more conditions like the last one, corresponding to different ways of associating the four terms.
  10. For any objects A, B, and C, we have
    (\tilde{R}_{(A|B,C)}\circ(A\otimes R_{B,C}))\bullet R_{A,R_{B,C}}^{-1}\bullet((R_{B,C}\otimes A)\circ\tilde{R}_{(A|B,C)}^{-1})=
    ((C\otimes R_{A,B})\circ\tilde{R}_{(A,B|C)}^{-1})\bullet R_{R_{A,B},C}\bullet(\tilde{R}_{(A,B|C)}\circ(R_{A,B}\otimes C)).
  11. R_{\cdot,\cdot}, \tilde{R}_{(\cdot|\cdot,\cdot)}, and \tilde{R}_{(\cdot,\cdot|\cdot)} are each the identity whenever one of their slots is filled with the unit object \mathbf{1}.

Now in our currrent situation, almost all the structure here is trivial, and we have proofs to match! Specifically, all of the 2-morphisms that show up here are just the identities for various 1-morphisms. That is, they move between different ways of writing the same 1-morphism. For example, the first condition just reduces to saying that the composite of three applications of the identity 2-morphism on the span R_{A',B'}\circ g\circ f are the same as three other applications of the identity on the same span. And on and on they go, identities on identities, and there’s ultimately nothing to do here.

So the upshot is that if we have a braiding on \mathcal{C}, then \mathbf{Span}(\mathcal{C}) is a braided monoidal 2-category. Dually, \mathbf{CoSpan}(\mathcal{C}) gets this structure if \mathcal{C} is a braided monoidal category with pushouts preserved by the monoidal product.

October 12, 2007 Posted by | Category theory | 10 Comments

Monoidal Structures on Span 2-Categories II

As I just stated in my update to yesterday’s post, I’ve given the data for a monoidal structure on the 2-category \mathbf{Span}(\mathcal{C}). Now we need some conditions on the data.

  1. For any object A, the maps \underline{\hphantom{X}}\otimes A and A\otimes\underline{\hphantom{X}} are 2-functors.
  2. For x any object, 1-morphism, or 2-morphism, x\otimes\mathbf{1}=\mathbf{1}\otimes x=x
  3. For x any object, 1-morphism, or 2-morphism, and any objects A and B, we have the equalities
    • A\otimes(B\otimes x)=(A\otimes B)\otimes x
    • A\otimes(x\otimes B)=(A\otimes x)\otimes B
    • x\otimes(A\otimes B)=(x\otimes A)\otimes B
  4. For any 1-morphisms f:A\rightarrow A', g:B\rightarrow B', and h:C\rightarrow C', we have the equalities
    • \bigotimes_{A\otimes g,h}=A\otimes\bigotimes_{g,h}
    • \bigotimes_{f\otimes B,h}=\bigotimes_{f,B\otimes h}
    • \bigotimes_{f,g\otimes C}=\bigotimes_{f,g}\otimes C
  5. For any objects A and B we have 1_A\otimes B=A\otimes 1_B=1_{A\otimes B}
  6. For any 1-morphisms f:A\rightarrow A' and g:B\rightarrow B', we have \bigotimes_{1_A,g}=1_{A\otimes g} and \bigotimes_{f,1_B}=1_{f\otimes B}
  7. For any 1-morphisms f:A\rightarrow A', g:B\rightarrow B', and h:B\rightarrow B' and any 2-morphism \beta:g\Rightarrow h, we have \bigotimes_{f,h}\bullet((f\otimes B')\circ(A\otimes\beta))=((A'\otimes\beta)\circ(f\otimes B))\bullet\bigotimes_{f,g}
  8. For any 1-morphisms f:A\rightarrow A', g:A\rightarrow A', and h:B\rightarrow B' and any 2-morphism \alpha:f\Rightarrow g, we have \bigotimes_{g,h}\bullet((\alpha\otimes B')\circ(A\otimes h))=((A'\otimes h)\circ(\alpha\otimes B))\bullet\bigotimes_{f,h}
  9. For any 1-morphisms f:A\rightarrow A', g:B\rightarrow B', and g':B'\rightarrow B'', we have \bigotimes_{f,g'\circ g}=((A'\otimes g')\circ\bigotimes_{f,g})\bullet(\bigotimes_{f,g'}\circ(A\otimes g))
  10. For any 1-morphisms f:A\rightarrow A', f':A'\rightarrow A'', and g:B\rightarrow B', we have \bigotimes_{f'\circ f,g}=(\bigotimes_{f',g}\circ(f\otimes B))\bullet((f'\otimes B')\circ\bigotimes_{f,g})

Okay, a bunch of conditions. Notice here that we have stated a bunch of equalities. Most of them are at the level of 2-morphisms, and everything at that level in a 2-morphism should hold on the nose. But some of them are equalities between 1-morphisms, which our philosophy says we should weaken.

Really what we’re laying out here is a semistrict monoidal 2-category, as described in Higher Dimensional Algebra I. Just like for monoidal categories, there’s a “coherence theorem” that tells us that once we specify a number of relations, all the others we want will follow. There’s also something like a “strictification theorem”, but now we can’t just wipe away all the structure morphisms. We can only “semi-strictify” an arbitrary monoidal 2-category. So that’s what we’re doing here and avoiding all the extra conditions that would be required if we had associators and other such things floating around.

Okay, enough of what everyone (who’s crazy enough to work on this stuff) already knows. Let’s get down to what (as far as I can tell) is being worked out for the first time as I’m writing it down here.

For condition 1, let’s just consider tensoring on the left with an object, since tensoring on the right is almost exactly the same. It clearly preserves identity 1-morphisms, since A\otimes(B\stackrel{1_B}{\leftarrow}B\stackrel{1_B}{\rightarrow}B) is just A\otimes B\stackrel{1_A\otimes 1_B}{\leftarrow}A\otimes B\stackrel{1_A\otimes 1_B}{\rightarrow}A\otimes B and we know that 1_A\otimes 1_B=1_{A\otimes B} in the monoidal structure on \mathcal{C}. Similarly, an identity 2-morphism in \mathbf{Span}(\mathcal{C}) is given by an identity arrow in \mathcal{C}, and tensoring it on the left with 1_A gives back the appropriate identity arrow.

Does tensoring on the left with A preserve all three compositions? Sure. It preserves vertical composition of 2-morphisms straight off. It preserves composition of 1-morphisms becase we’re assuming that the tensor product on \mathcal{C} preserves pullbacks. The horizontal composition of 2-morphisms is a little trickier, partly because I was never very explicit on how to compose 2-morphisms like this. Here’s how it looks:
Horizontal Composition of Span 2-morphisms
Start with spans A\leftarrow X\rightarrow B, A\leftarrow X'\rightarrow B, B\leftarrow Y\rightarrow C, and B\leftarrow Y'\rightarrow C. Throw in arrows \alpha:X\rightarrow X' and \beta:Y\rightarrow Y' making the appropriate triangles commute. Then pull back X\rightarrow B\leftarrow Y and X'\rightarrow B\leftarrow Y' to get Z and Z', respectively. We can follow the arrow from Z to X and then by \alpha on to X'. Similarly we can get an arrow from Z to Y'. If we compose these with the arrows from X' and Y' down to B, the square clearly commutes, so by the universal property of the pullback there is a unique arrow Z\rightarrow Z'. This is the horizontal composite of \alpha and \beta. From here it’s straightforward to see that if I tensor everything in sight on the left with some object, everything will be preserved. And so we have shown condition 1.

Conditions 2 and 3 is all but trivial, since everything we to any object, 1-morphism, or 2-morphism to tensor it with an object is to invoke the monoidal product down on \mathcal{C}, where these associativity and unit constraints hold automatically. Similarly, 5 also follows immediately from the monoidal structure on \mathcal{C}.

If we look back at what we did last time, we see that we can have set up our pullbacks as in the diagram I showed then. In fact, I’m coming to think I was being overly cautious to even bring that up. That is, we can just take the tensorator to be the identity 2-morphism on the appropriate span. This immediately satisfies conditions 4 and 6. The remaining conditions 7, 8, 9, and 10 also fall in line once you write out the compositions in terms of the spans. But I won’t kid you, they look ugly. I took a picture of the diagram for condition 7. Above the center it’s the left of the equation and below the center it’s the right. I’ll eventually TeX these up, but for now suffice to say that if you actually draw out these span diagrams and set the tensorator to be the identity that everything works out smoothly.

So now we’ve proven that the data we laid out yesterday does, in fact, constitute the structure of a monoidal 2-category.

October 11, 2007 Posted by | Category theory | 1 Comment

Monoidal Structures on Span 2-Categories

Now we want to take our 2-categories of spans and add some 2-categorical analogue of a monoidal structure on it.

Here’s what we need:

  • An object \mathbf{1} called the unit object.
  • For objects A_1 and A_2, an object A_1\otimes A_2.
  • For an object A and a 1-morphism f:B\rightarrow C, 1-morphisms A\otimes f:A\otimes B\rightarrow A\otimes C and f\otimes A:B\otimes A\rightarrow C\otimes A.
  • For an object A and a 2-morphism \alpha:f\Rightarrow g, 2-morphisms A\otimes\alpha:A\otimes f\Rightarrow A\otimes g and \alpha\otimes A:f\otimes A\Rightarrow g\otimes A.
  • For 1-morphisms f:A\rightarrow A' and g:B\rightarrow B', a 2-morphism \bigotimes_{f,g}:(f\otimes B')\circ(A\otimes g)\Rightarrow(A'\otimes g)\circ(f\otimes B) called the “tensorator”.

Notice that instead of defining the tensor product as a functor, we define its action on a single object and a single 1-morphism (in either order). Then if we have two 1-morphisms we have two ways of doing first one on one side of the tensor product, then the other on the other side. To say that \underline{\hphantom{X}}\otimes\underline{\hphantom{X}} is a functor would say that these two are equal, but we want to weaken this to say that there is some 2-morphism from one to the other.

Now let’s assume that we’ve got a regular monoidal structure on our category \mathcal{C}, and further that this monoidal structure preserves the pullbacks we’re assuming exist in \mathcal{C}. That is, if D_1 is a pullback of the diagram A_1\rightarrow C_1\leftarrow B_1 and D_2 is a pullback of the diagram A_2\rightarrow C_2\leftarrow B_2, then D_1\otimes D_2 will be a pullback of the diagram A_1\otimes A_2\rightarrow C_1\otimes C_2\leftarrow B_1\otimes B_2.

So what does this mean for \mathbf{Span}(\mathcal{C})? Well, the monoidal structure on \mathcal{C} gives us a unit object \mathbf{1} and monoidal product objects A\otimes B. If we have a span B\stackrel{f_1}{\leftarrow}X\stackrel{f_2}{\rightarrow}C and an object A, we can form the spans A\otimes B\stackrel{1_A\otimes f_1}{\leftarrow}A\otimes X\stackrel{1_A\otimes f_2}{\rightarrow}A\otimes C and B\otimes A\stackrel{f_1\otimes 1_A}{\leftarrow}X\otimes A\stackrel{f_2\otimes 1_A}{\rightarrow}A\otimes C. If we have spans B\stackrel{f_1}{\leftarrow}X\stackrel{f_2}{\rightarrow}C and B\stackrel{g_1}{\leftarrow}Y\stackrel{g_2}{\rightarrow}C and an arrow \alpha:X\rightarrow Y with f_1=\alpha\circ g_1 and f_2=\alpha\circ g_2 then the arrow 1_A\otimes\alpha:A\otimes X\rightarrow A\otimes Y satisfies 1_A\otimes f_1=1_A\otimes\alpha\circ1_A\otimes g_1 and 1_A\otimes f_2=1_A\otimes\alpha\circ1_A\otimes g_2, and similarly the arrow \alpha\otimes1_A:X\otimes A\rightarrow Y\otimes A satisfies f_1\otimes1_A=\alpha\otimes1_A\circ g_1\otimes1_A and f_2\otimes1_A=\alpha\otimes1_A\circ g_2\otimes1_A. And so we have our monoidal products of objects with 1- and 2-morphisms.

When we take spans f=A\stackrel{f_1}{\leftarrow}A''\stackrel{f_2}{\rightarrow}A' and g=B\stackrel{g_1}{\leftarrow}B''\stackrel{g_2}{\rightarrow}B', we can form the following two composite spans:
The Source and Target of the Tensorator of Spans
where we use the assumption that the monoidal product preserves pullbacks to show that the squares in these diagrams are indeed pullback squares.

As we’ve drawn them, these two spans are the same. However, remember that the pullback in \mathcal{C} is only defined up to isomorphism. That is, when we define the pullback as a functor, we choose some isomorphism class of cones, and these diagrams say that the pullbacks we’ve drawn are isomorphic to those defined by the pullback functor. But that means that whatever the “real” pullbacks C_1 and C_2 are, they’re both isomorphic to A''\otimes B'', and that those isomorphisms play nicely with the other arrows we’ve drawn. And so there will be some isomorphism \bigotimes_{f,g}:C_1\rightarrow C_2 between the “real” pullbacks that make the required triangles commute, giving us our tensorator.

Therefore what we have shown is this: Given a monoidal category \mathcal{C} with pullbacks such that the monoidal structure preserves those pullbacks, we get the data for the structure of a (weak) monoidal 2-category on \mathbf{Span}(\mathcal{C}). Dually, we can show that given a monoidal category \mathcal{C} with pushouts, such that the monoidal structure preserves them, we get the data for a monoidal 2-category \mathbf{CoSpan}(\mathcal{C}).

[UPDATE]: In my hurry to get to my second class, I overstated myself. I should have said that we have the data of the monoidal structure. The next post contains the conditions the data must satisfy.

October 10, 2007 Posted by | Category theory | 3 Comments

Spans and Cospans II

There’s something we need to note about spans that will come in extremely handy as we start trying to add structure to our categories of spans.

Remember that we’re starting with a category \mathcal{C} with pullbacks, and from this we construct the weak 2-category \mathbf{Span}(\mathcal{C}). It turns out that we can find \mathcal{C} inside \mathbf{Span}(\mathcal{C}). First of all, we consider \mathcal{C} as a 2-category itself by our usual trick of considering a set as a category — to every morphism in \mathcal{C}, just add one identity 2-morphism and nothing else.

Now we’re going to need an inclusion 2-functor. We could just look for it to preserve compositions up to some natural 2-morphism, but we can actually get preservation on the nose. Just send f:A\rightarrow B to the span A\leftarrow A\rightarrow B, where the left arrow is the identity on A and the right arrow is f. The composite of two such spans looks like this:
Functoriality of the Inclusion
Clearly the identity arrow in \mathcal{C} is sent to the identity span. Since there are only identity 2-morphisms in \mathcal{C}, their image under the inclusion is obvious.

This inclusion has a number of nice properties. First off, it’s always faithful. Clearly two such spans are the same only if the original arrows were the same. But we can even go further to assert that if two spans in the image of the inclusion are even related by a 2-morphism, they have to be from the same arrow in \mathcal{C}. Indeed, here’s the diagram:
Faithfulness of the Inclusion
The only possible arrow in the middle that makes the left triangle commute is the identity, and then the right triangle can only commute if f=g.

On the other hand, the inclusion is almost never full, even if we only ask for “essential” fullness. Indeed, if there’s any non-identity arrow then we could use it on the left of a span to make something that can’t be in the image. On the other hand, if we ask that every span have a 2-morphism from something in the image we find the diagram:
The Inclusion is Not Full
Here we can always pick h to make the right side commute as long as we can find an arrow in the middle that makes the left side commute. But that would mean that every arrow f in \mathcal{C} has an arrow x with f\circ x=1_A. That is, every single arrow in \mathcal{C} would have to be a surjection, which is far too much to ask. And at the level of 2-morphisms there’s not nearly enough in the image to be full.

So the category \mathcal{C} sits inside the 2-category \mathbf{Span}(\mathcal{C}) as a sub-2-category. This means (roughly) that if we get some structure on \mathbf{Span}(\mathcal{C}) there must be a corresponding structure on \mathcal{C} itself by restriction. Then we can turn around and try to extend structures on \mathcal{C} to the whole of \mathbf{Span}(\mathcal{C}). I’ve worked out some of the basic examples, which I’ll start in on tomorrow. But some of the interesting ones I’ll be working out as I write them up, so this should prove interesting indeed.

October 9, 2007 Posted by | Category theory | Leave a comment

Spans and Cospans

I was busy all yesterday with my talk at George Washington, so today I’ll make up for it by explaining one of the main tools that went into the talk. Coincidentally, it’s one of my favorite examples of a weak 2-category.

We start by considering a category \mathcal{C} with pullbacks. A span in \mathcal{C} is a diagram of the form A_1\leftarrow B\rightarrow A_2. We think of it as going from A_1 to A_2. It turns out that we can consider these to be the morphisms in a weak 2-category \mathbf{Span}(\mathcal{C}), whose objects are just the objects of \mathcal{C}.

Now since this is supposed to be a 2-category we need 2-morphisms to go between spans. Given spans A_1\leftarrow B\rightarrow A_2 and A_1\leftarrow B'\rightarrow A_2 a 2-morphism from the first to the second will be an arrow from B to B' making the triangles on the sides of the following diagram commute:
A 2-morphism between spans
We compose 2-morphisms in the obvious way, stacking these diamond diagrams on top of each other and composing the arrows down the middle.

The composition for 1-morphisms is where it gets interesting. If we have spans A_1\leftarrow B_1\rightarrow A_2 and A_2\leftarrow B_2\rightarrow A_3 we compose them by overlapping them at A_2 and pulling back the square in the middle, as in the following diagram:
Composition of Spans
where the middle square is a pullback. Then the outer arrows form a span A_1\leftarrow C\rightarrow A_3.

Notice that this composition is not in general associative. If we have three spans A_1\leftarrow B_1\rightarrow A_2, A_2\leftarrow B_2\rightarrow A_3, and A_3\leftarrow B_3\rightarrow A_4, we could pull back on the left first, then on the right, or the other way around:
Associativity of Span Composition 1
Associativity of Span Composition 2
But the object D at the top of each diagram is a limit for the A_1\leftarrow B_1\rightarrow A_2\leftarrow B_2\rightarrow A_3\leftarrow B_3\rightarrow A_4 along the bottom of the diagram. And thus the two of them must be isomorphic, and the isomorphism must commute with all the arrows from D to an object along the bottom. In particular, it commutes with the arrows from D to A_1 and to A_4, and thus gives a canonical “associator” 2-morphism. I’ll leave the straightforward-but-tedious verification of the pentagon identity as an exercise.

What is the identity span? It’s just A\leftarrow A\rightarrow A, where the arrows are the identity arrows on A. When we pull back anything along the identity arrow on A, we get the same arrow again. Thus the 2-morphisms we need for the left and right unit are just the identities, and so the triangle identity is trivially true. Thus we have constructed a 2-category \mathbf{Span}(\mathcal{C}) from any category with pullbacks.

The concept of a cospan is similar, but the arrows (predictably) run the other way. A cospan in a category \mathcal{C} with pushouts (instead of pullbacks) is a diagram of the form A_1\rightarrow B\leftarrow A_2. Everything else goes the same way — 2-morphisms are arrows in the middle making the side triangles commute, and composition of cospans goes by pushing out the obvious square.

Unusual as it is for this weblog, I’d like to make one historical note. Spans and cospans were introduced by Bénabou in the early 1960s. This was first pointed out to me by Eugenia Cheng (of The Catsters) and John Baez (of The n-Category Café) at a conference at Union College two years ago. Until that point I’d been calling cospans “\Lambda-diagrams” because I’d invented them out of whole cloth to solve a problem that I’ll eventually get around to explaining. The name seemed appropriate because I tend to draw them (as I have in the above diagrams) as wedges with the arrows on the sides pointing up into the center, sort of like a capital lambda. They’ve shown up in a number of contexts, but as far as I can tell I’m the first (and so far only) to use them in knot theory like I do. However, Jeff Morton has noted that cobordisms are a sort of cospan, and my use of tangles is analogous to that.

October 6, 2007 Posted by | Category theory | 6 Comments