Todd Trimble
Spans of groupoids



The idea I have in these notes is to expand the notion of cartesian bicategory to the tricategorical context, using spans of groupoids as an illustrative example. One motivation is that the symmetric monoidal structure follows straight away from the cartesian structure, if we assume that 2-products or 3-products are symmetric monoidal (which is true almost by fiat!). Another motivation is that a lot is known about cartesian bicategories, and the methodology seems ripe for extending this notion to tricategories.

The contents of this article are as follows. First we warm up by recalling some of the basic theory of cartesian bicategories, including their property-like nature and their symmetric monoidal structure, and the fact that Span(C), for C a finitely complete category, is a cartesian bicategory. Then, we reprise this development but one dimension higher, first defining cartesian tricategories, sketching their basic structure, and then applying it to the tricategory of spans of groupoids.

What is a cartesian bicategory?

A cartesian bicategory is a “bicategory of generalized relations” like Rel or Span or Prof, which carries a “product-like” tensor product, that is, a monoidal product which becomes an honest 2-product when restricted to a subbicategory like Set or Cat, namely the subbicategory whose 1-cells are the left adjoint 1-cells in the original bicategory.


The very brief description above can be turned into a definition as follows: following Carboni and Walters, define a map in a bicategory B to be a 1-cell in B that has a right adjoint. Map(B) denotes the subbicategory whose 1-cells are precisely the maps in B, with all 2-cells between them.


A cartesian structure on B consists of

  • 2-functors :B×BB and I:1B, where 1 is the terminal 2-category;

  • Map-valued lax transformations

    δ:1 BΔ,π:Δ1 B×B,ε:1 BI!\delta: 1_B \to \otimes \Delta, \qquad \pi: \Delta \otimes \to 1_{B \times B}, \qquad \varepsilon: 1_B \to I !

    where Δ:BB×B is the diagonal 2-functor and !:B1 is the unique 2-functor;

  • Invertible modifications

    δ Δ Δ Δδ ΔΔ I εI I!I 1 s π 1 Δ t πΔ 1 I u Iid 1 Δ 1 Δ Δ I 1 I I\array{ \otimes & \overset{\delta \otimes}{\to} & \otimes \Delta \otimes & & & & \Delta & \overset{\Delta \delta}{\to} & \Delta \otimes \Delta & & & & I & \overset{\varepsilon I}{\to} & I ! I\\ \mathllap{1_\otimes} \downarrow & \overset{s}{\Rightarrow} & \downarrow \mathrlap{\otimes \pi} & & & & \mathllap{1_\Delta} \downarrow & \overset{t}{\Leftarrow} & \downarrow \mathrlap{\pi \Delta} & & & & \mathllap{1_I} \downarrow & \overset{u}{\Rightarrow} & \downarrow \mathrlap{I \cdot id}\\ \otimes & \underset{1_{\otimes}}{\to} & \otimes & & & & \Delta & \underset{1_{\Delta}}{\to} & \Delta & & & & I & \underset{1_I}{\to} & I }

    satisfying the triangulator coherence conditions.

A cartesian bicategory is a bicategory with a cartesian structure.

Here, we assume throughout that n-categorical concepts are weak n-categorical, e.g., by a “2-functor”, we mean a weak 2-functor, etc. Under our conventions, a lax transformation θ:FG between 2-functors has (not necessarily invertible) structure 2-cells pointing in the direction

Fa θa Ga Ff θf Gf Fb θb Gb\array{ F a & \overset{\theta a}{\to} & G a\\ \mathllap{F f} \downarrow & \overset{\theta \cdot f}{\Rightarrow} & \downarrow \mathrlap{G f}\\ F b & \underset{\theta b}{\to} & G b }

(This convention is opposite to Bénabou’s convention.) There is a

Famous Lemma

The structure cell θf is invertible if f is a map in B.

We say a (lax) transformation θ is map-valued if each of the components θa is a map.

Any 2-functor F:BC takes maps to maps, hence induces a 2-functor Map(F):Map(B)Map(C). It follows immediately from this and the lemma that on restriction of a cartesian structure to Map(B), the 2-functor

=Map():Map(B)×Map(B)Map(B×B)Map(B)\otimes_| = Map(\otimes): Map(B) \times Map(B) \simeq Map(B \times B) \to Map(B)

is right biadjoint to the 2-functor

Δ=Map(Δ):Map(B)Map(B)×Map(B)\Delta = Map(\Delta): Map(B) \to Map(B) \times Map(B)

because the famous lemma ensures that the unit and counit

δ :1 Δ,π :Δ 1\delta_|: 1 \to \otimes_| \Delta, \qquad \pi_|: \Delta \otimes_| \to 1

are strong (i.e., pseudo) transformations, which taken together with invertible triangulator 2-cells s, t makes precisely a right 2-adjoint to the diagonal Δ, i.e., a 2-product on Map(B). By similar reasoning, the 2-functor I:1Map(B) becomes a right 2-adjoint to !:Map(B)1, i.e., a 2-terminal object of Map(B).

Symmetric monoidal structure of a cartesian bicategory

Theorem 1

Suppose B has a cartesian structure. The symmetric monoidal 2-category structure on Map(B), whose monoidal product is the 2-product on Map(B), extends to a symmetric monoidal 2-category structure on all of B.

What does it take to exhibit a symmetric monoidal 2-category structure on B? One needs

It’s a complicated set of data and axioms, but the following proof shows the whole thing can be finessed if we simply accept that 2-products are symmetric monoidal, according to any reasonable definition of that notion. (Alternatively, Max Kelly has already proven this fact about 2-products, so we could just quote him.)

Proof of Theorem 1

First, given objects a,b,c of B, we may regard them as objects of Map(B), where there is an associativity constraint

α a,b,c:(ab)ca(bc)\alpha_{a, b, c}: (a \otimes b) \otimes c \to a \otimes (b \otimes c)

on Map(B) which is definable by exploiting 2-universal properties of the 2-product. The associativity thus has an expression in terms of , δ, and π, which are globally defined on B, hence α is globally defined as a lax transformation on B. By similar considerations, the symmetry and unit constraints on Map(B) also extend to globally defined lax transformations on B. We argue in a moment that these constraints are strong (adjoint) equivalences.

Symmetric monoidal structure on B also demands various structural modifications (such as a Yang-Baxter modification R ,) satisfying various coherence conditions, but the components of such modifications (R ab,c, say) are defined by regarding their arguments a,b,c as objects of Map(B) and using the corresponding modifications there. Again, each such modification on Map(B) is defined in terms of 2-adjunction data , I, δ, π, ε, s, t, u which are globally defined on B, so each such structure is a modification on B. Various coherence conditions on the modifications must be checked, but the conditions hold at every choice of objects of B by regarding them as objects of Map(B) and using the symmetric monoidal structure there, so the conditions hold on B.

Now we check that the structural transformations α are strong adjoint equivalences. Indeed, when regarded as being defined on Map(B), the constraint α is an equivalence and so has a left adjoint (with invertible unit and counit) α with components

α a,b,c :a(bc)(ab)c\alpha_{a, b, c}^{-}: a \otimes (b \otimes c) \to (a \otimes b) \otimes c

and just like α, α is definable in terms of global structure on B, making α a transformation on B. Then α, and by similar reasoning the symmetry and unit constraints, are strong transformations on B by the lemma which follows.

For 2-categories B, C, let Hom l(C,B) denote the 2-category of 2-functors, lax transformations, and modifications. Let Hom s(C,B) denote the 2-category of 2-functors, strong transformations, and modifications.

Lemma 2

If α is a right adjoint in Hom l(C,B), then the transformation α is strong. Consequently, if α α is an adjoint equivalence, so that both α α and αα , then α α is a strong adjoint equivalence in Hom s(C,B).


Only the first statement requires proof. Given r:cd in C, let ev c:Hom l(C,B)B denote the 2-functor which evaluates at c (keep in mind that the 1-cells in Hom l(C,B) are lax transformations), and let ev r:ev cev d denote the evident transformation; this is oplax under our convention. Then, by dualizing the famous lemma, ev r(α)=αr is an isomorphism if α is a right adjoint. Since αr is an isomorphism for all 1-cells r in C, it follows that α is strong.

This completes the argument that the symmetric monoidal structure on Map(B) extends one on B.

Cartesian structure is a property

Another thing worth pointing out about cartesian bicategories is that cartesian structure is really a property, i.e., up to equivalence, there is at most one cartesian structure that can obtain on a bicategory. This is well-known to the cognoscenti; indeed, one can use cartesian structure on B to see that the local hom-categories B(b,c) have cartesian products, and that a cartesian structure on B can be entirely retrieved from

Therefore, since 2-products and products are unique up to appropriate canonical equivalence, so must be cartesian structure. For now, we content ourselves with a sketch of these facts.

Local products

The binary product on B(b,c) is given by

B(b,c)×B(b,c)B(b×b,c×c)B(δb,(δc) *)B(b,c)B(b, c) \times B(b, c) \stackrel{\otimes}{\to} B(b \times b, c \times c) \stackrel{B(\delta b, (\delta c)^*)}{\to} B(b, c)

where f * denotes the right adjoint of a map f. The terminal object of B(b,c) is given by

bεb1(εc) *c.b \stackrel{\varepsilon b}{\to} 1 \stackrel{(\varepsilon c)^*}{\to} c.

To see that this prescription for binary products works, one notes first that the “laxified 2-adjunction” Δ lax on a cartesian bicategory induces an adjoint pair

(B(b,c)(B×B)(Δb,c))((B×B)(Δb,c)B(b,c))(B(b, \otimes c) \to (B \times B)(\Delta b, c)) \dashv ((B \times B)(\Delta b, c) \to B(b, \otimes c))

for each bOb(B), c=(c 1,c 2)Ob(B×B). Thus, we have that for any bOb(B), the composite

B(b,b)B(b,δb)B(b,Δb)(B×B)(Δb,Δb),B(b, b') \stackrel{B(b, \delta b')}{\to} B(b, \otimes \Delta b') \to (B \times B)(\Delta b, \Delta b'),

which is the same as the diagonal B(b,b)(B×B)(Δb,Δb)B(b,b)×B(b,b), is left adjoint to the composite

(B×B)(Δb,Δb)B(b,Δb)B(b,(δb) *)B(b,b)(B \times B)(\Delta b, \Delta b') \to B(b, \otimes \Delta b') \stackrel{B(b, (\delta b')^*)}{\to} B(b, b')

which, applied to a pair (r:bb,s:bb), gives the product r×s as we have described it.

The argument that the precription for the terminal object works is entirely similar.

Cartesian structure in terms of 2-products and local products

(It may help for the reader to just figure this out himself, based on how it works in Rel. The cartesian product of a relation R from A to B and a relation S from C to D is given by the formula (R×S)(a,c,b,d)=R(a,b)S(c,d).)

For objects, it is obvious: regard objects b and c in B as belonging to Map(B), and define bc to be their 2-product there.

For morphisms r:ab and s:cd, the morphism rs:a×cb×d is the local product in the category B(a×c,b×d) of

a×cπ 1arb(π 1) *b×da \times c \stackrel{\pi_1}{\to} a \stackrel{r}{\to} b \stackrel{(\pi_1)^*}{\to} b \times d


a×cπ 2csd(π 2) *b×d.a \times c \stackrel{\pi_2}{\to} c \stackrel{s}{\to} d \stackrel{(\pi_2)^*}{\to} b \times d.

This formula extends to 2-cells as well by whiskering. The proof that this works is easily discovered by writing down the definitions in terms of string diagrams.

Indeed, by regarding an object c as belonging to Map(B), the component δc is the 2-diagonal cc×c. If r:cd is a morphism of B, then the structure 2-cell δr:(δd)r(rr)(δc) is uniquely determined as the mate of the local diagonal

rr×r=(δd) *(rr)(δc).r \to r \times r = (\delta d)^* (r \otimes r)(\delta c).

Similarly, by regarding objects c and d as belonging to Map(B), the component π(c,d) is the pair or 2-projections (π 1:c×dc,π 2:c×dd). If r:ac and s:bd are morphisms, then the structure 2-cell π(r,s) is a pair of 2-cells

a×b π 1 a rs r c×d π 1 ca×b π 2 b rs s c×d π 2 d\array{ a \times b & \stackrel{\pi_1}{\to} & a \\ \mathllap{r \otimes s} \downarrow & \neArrow & \downarrow \mathrlap{r} \\ c \times d & \underset{\pi_1}{\to} & c } \qquad \array{ a \times b & \stackrel{\pi_2}{\to} & b \\ \mathllap{r \otimes s} \downarrow & \neArrow & \downarrow \mathrlap{s} \\ c \times d & \underset{\pi_2}{\to} & d }

uniquely determined as mates of the local projections

rs(π 1) *rπ 1r \otimes s \to (\pi_1)^* r \pi_1
rs(π 2) *sπ 2r \otimes s \to (\pi_2)^* s \pi_2

(according to how we retrieve rs as a local product).

This completes the argument that cartesian structure is a property.

Left adjoints in Span

This section is a routine graduate-course exercise, as a warm-up to the slightly more elaborate calculations on spans of groupoids below.

Let C be a finitely complete category, and let Span(C) be the usual (weak) 2-category whose 1-cells are spans in C. There is an inclusion

i:CSpan(C)i: C \to Span(C)

which sends each object to itself, and a morphism f:cd to the span

c1 ccfdc \stackrel{1_c}{\leftarrow} c \stackrel{f}{\to} d

(This is the usual way to turn functions into relations.) Given f,g:cd in C, a 2-cell i(f)i(g) can only be an identity 2-cell. So, regarding C as a locally discrete 2-category, i becomes a locally full inclusion.

Furthermore, each i(f) is a left adjoint; its right adjoint is the same span read in reverse:

dfc1 ccd \stackrel{f}{\leftarrow} c \stackrel{1_c}{\to} c

This is a very easy and routine exercise which can be left to the reader.

Theorem 2

If XrSsY has a right adjoint in Span(C), then r is an isomorphism. As a result, every left adjoint in Span(C) is isomorphic to a “function” X1 XXfY, where f=sr 1, and the sub-2-category

Map(Span(C))Span(C)Map(Span(C)) \to Span(C)

is 2-equivalent to the sub-2-category i:CSpan(C).

Corollary 1

All diagrams of 2-cells commute in Map(Span(C)) (because C is a locally discrete 2-category).

Proof of Theorem 2

Let YtTuX be the right adjoint. Then a structure of unit η for the adjunction amounts to a diagram

X r u S T r s t u X Y X\array{ & & & & X & & & & \\ & & & \mathllap{r'} \swarrow & & \searrow \mathrlap{u'} & & & \\ & & S & & & & T & & \\ & \mathllap{r} \swarrow & & \searrow \mathrlap{s} & & \mathllap{t} \swarrow & & \searrow \mathrlap{u} & \\ X & & & & Y & & & & X }

in which rr=1 X and uu=1 X. Now we need to see rr=1 S. The evident morphism of spans Sη:SSTS amounts to a diagram of shape

S r X ST r u S T S r s t u r s X Y X Y\array{ & & & & & & S & & & & & & \\ & & & & & \mathllap{r} \swarrow & & \searrow & & & & & \\ & & & & X & & & & S T & & & & \\ & & & \mathllap{r'} \swarrow & & \searrow \mathrlap{u'} & & \swarrow & & \searrow & & & \\ & & S & & & & T & & & & S & & \\ & \mathllap{r} \swarrow & & \searrow \mathrlap{s} & & \mathllap{t} \swarrow & & \searrow \mathrlap{u} & & \mathllap{r} \swarrow & & \searrow \mathrlap{s} & \\ X & & & & Y & & & & X & & & & Y }

and whatever the counit ε:ST1 Y is, the fact that the composite 2-cell (εS)(Sη) is given by the identity on S forces rr=1 S, as desired.

The cartesian bicategory Span

As before, C is a finitely complete category.

Theorem 3

Span(C) is a cartesian bicategory.


Routine; we sketch the main points. The functor takes a pair of spans ArSsB, CtTuD to the evident cartesian product

A×Cr×tS×Ts×uB×DA \times C \stackrel{r \times t}{\leftarrow} S \times T \stackrel{s \times u}{\to} B \times D

The lax transformation δ:1Δ has components

δc:cc×c\delta c: c \to c \times c

(more pedantically, we mean the span i(δc)), which is obviously map-valued. The structure 2-cell δ(r,s) is provided by δS in the commutative diagram

S r δS s c S×S d δc r×r s×s δd c×c d×d\array{ & & S & & \\ & \mathllap{r} \swarrow & \downarrow \mathrlap{\delta S} & \searrow \mathrlap{s} & \\ c & & S \times S & & d \\ \mathllap{\delta c} \downarrow & \mathllap{r \times r} \swarrow & & \searrow \mathrlap{s \times s} & \downarrow \mathrlap{\delta d} \\ c \times c & & & & d \times d }

which expresses naturality of δ in C.

The lax transformation π:Δ1 has components

π(c,d):(π 1:c×dc,π 2:c×dd)\pi (c, d): (\pi_1: c \times d \to c, \pi_2: c \times d \to d)

(more pedantically, we mean the pair of spans (i(π 1),i(π 2))), which are obviously map-valued. Structure 2-cells are provided by morphisms (π 1:S×TS,π 2:S×TT) which occur in a commutative diagram which expresses naturality of the projections π 1, π 2 in C.

The 2-functor I:1Span(C) names the terminal object of C regarded as an object of Span(C). The lax transformation ε:1I! is has components εc given by the unique morphism c1 in C.

The required triangulator modifications, since they are essentially valued in the locally discrete 2-category C (via the equivalence CMap(Span(C)), are identities; they are the equations expressed by commutative diagrams of the form

Δ ΔΔ c δ c×c 1 : 1 c π 1 Δ cc δ c×c 1 c π 2 c\array{ \Delta & \to & \Delta \otimes \Delta & & & & & c & \stackrel{\delta}{\to} & c \times c \\ & \mathllap{1} \searrow & \downarrow & : & & & & & \mathllap{1_c} \searrow & \downarrow \mathrlap{\pi_1} \\ & & \Delta & & & & & & & c } \qquad \array{ c & \stackrel{\delta}{\to} & c \times c \\ & \mathllap{1_c} \searrow & \downarrow \mathrlap{\pi_2} \\ & & c }
Δ c×d δ(c×d) c×d×c×d 1 : 1 c×d π 1×π 2 c×d\array{ \otimes & \to & \otimes \Delta \otimes & & & & & c \times d & \stackrel{\delta(c \times d)}{\to} & c \times d \times c \times d \\ & \mathllap{1} \searrow & \downarrow & : & & & & & \mathllap{1_{c \times d}} \searrow & \downarrow \mathrlap{\pi_1 \times \pi_2} \\ & & \otimes & & & & & & & c \times d }
I I!I 1 : 1 1=ε1:11 I \array{ I & \to & I ! I & & & & & \\ & \mathllap{1} \searrow & \downarrow & : & & & & 1_1 = \varepsilon 1: 1 \to 1\\ & & I & & & & & }

and the triangulator coherence conditions of course hold by corollary 1. In summary, C as a 2-category has 2-products since C has products, and therefore Span(C) has a cartesian structure.

Frobenius condition

One other thing worth pointing out about Span(C) is the Frobenius condition: letting δ * be the right adjoint of the map δ, the 2-cell

δδ *(δ *1)(1δ),\delta \delta^* \to (\delta^* \otimes 1)(1 \otimes \delta),

namely the mate of the coassociativity 2-cell id:(δ1)δ(1δ)δ, is invertible, and similarly the mate

δδ *(1δ *)(δ1)\delta \delta^* \to (1 \otimes \delta^*)(\delta \otimes 1)

of the inverse coassociativity id:(1δ)δ(δ1)δ is also invertible. This fact can be exploited to show that Span(C) is a compact monoidal 2-category, where each object c is 0-dual to itself. (The unit is

1(εc) *cδc×c1 \stackrel{(\varepsilon c)^*}{\to} c \stackrel{\delta}{\to} c \times c

and the counit is the opposite span

c×cδ *cεc1;c \times c \stackrel{\delta^*}{\to} c \stackrel{\varepsilon c}{\to} 1;

the construction of the triangulators is based on the Frobenius isomorphisms and is left to the reader.)

This same fact indicates that the Frobenius condition does not hold in the cartesian bicategory Prof, since the 0-dual of a category C is not C but rather C op; however, the cartesian bicategory consisting of groupoids and profunctors between them is again Frobenius (or discrete, in the language of Carboni and Walters in Cartesian Bicategories I).

Steve Lack and others (this is to be looked up) have a result which abstractly characterizes those cartesian bicategories of the form Span(C). We may see whether this generalizes to the case of cartesian tricategories to follow: is there a similar characterization of cartesian tricategories which arise as spans of groupoids?

Cartesian tricategories

In principle, the definition is a straightforward generalization of the definition we wrote down for cartesian bicategories. The procedure is basically this:

(Some work to be done here.)

Left 2-adjoints in Span(Gpd)

Let Span(Gpd) be the usual (weak) 3-category whose 1-cells are spans of groupoids. There is an inclusion

i:GpdSpan(Gpd)i: Gpd \to Span(Gpd)

which sends each groupoid to itself, and a functor F:GH to the span

G1 GGFHG \stackrel{1_G}{\leftarrow} G \stackrel{F}{\to} H

It sends a natural transformation α:FF to the 2-cell

G 1 G G 1= 1 α F G 1 G F H\array{ & & G & \overset{1_G}{\to} & G \\ & \mathllap{1} \swarrow = & \downarrow \mathrlap{1} & \swArrow \mathrlap{\alpha} & \downarrow \mathrlap{F} \\ G & \underset{1}{\to} & G & \underset{F'}{\to} & H }

It is clear that given natural transformations α,β:FF in Gpd, a 3-cell i(α)i(β) can only be an identity 2-cell. So, regarding Gpd as a 2-locally discrete 3-category, i becomes a 2-locally full inclusion.

Furthermore, each 1-cell i(F) is a left 2-adjoint in Span(Gpd); its right 2-adjoint is the same span read in reverse:

HFG1 GGH \stackrel{F}{\leftarrow} G \stackrel{1_G}{\to} G

This is a very easy and routine exercise which can be left to the reader.


If a span of groupoids GrXsH is a left 2-adjoint, then r is an equivalence. As a result, every left 2-adjoint in Span(Gpd) is equivalent to a functorial span G1 GGFH, where F=sr 1 (r 1 here denoting a quasi-inverse of r), and the sub-2-category

Map(Span(Gpd))Span(Gpd)Map(Span(Gpd)) \to Span(Gpd)

is 2-equivalent to the sub-3-category i:GpdSpan(Gpd).

The proof is wholly analogous to the proof we gave for theorem 2 above, the one that characterizes maps or left adjoints in Span(C).


All pasting diagrams of 3-cells in Map(Span(Gpd)) commute (because it is equivalent to the 2-locally discrete 3-category Gpd).

Revised on February 3, 2011 19:40:57 by Todd Trimble