The Unapologetic Mathematician

Mathematics for the interested outsider

Monoidal Functors and Natural Transformations

Now that we’ve got monoidal categories as the category-level analogue of monoids we need the category-level analogue of monoid homomorphisms. Recall that a monoid homomorphism is a function from the underlying set of one monoid to that of another that preserves the monoid compositions and identities. Since functors are the category-level version of functions, the natural thing to do is to ask for functors that preserves the monoidal category structure.

Of course it can’t be just that simple. As usual, we want to only ask for things to work out “up to isomorphism”. That is, given monoidal categories \mathcal{C} and \mathcal{D} — I’ll write \otimes and \mathbf{1} for both monoidal products and both identities and trust context to make clear which is which — we don’t want to insist that a functor F:\mathcal{C}\rightarrow\mathcal{D} satisfies F(\mathbf{1})=\mathbf{1} and F(A\otimes B)=F(A)\otimes F(B) and so on. Instead we want natural isomorphisms to replace these equations.

So there should be an isomorphism F_*:\mathbf{1}\rightarrow F(\mathbf{1}) in \mathcal{D}. As specified objects of \mathcal{D}, both \mathbf{1} and F(\mathbf{1}) are given by functors from the category \bullet to \mathcal{D}, and an isomorphism between the objects is automatically a natural isomorphism between these functors.

There should also be a natural isomorphism F_{(--)}:F(\underline{\hphantom{X}})\otimes F(\underline{\hphantom{X}})\rightarrow F(\underline{\hphantom{X}}\otimes\underline{\hphantom{X}}). That is, for every pair of objects A and B of \mathcal{C} there’s an isomorphism F_{(A,B)}:F(A)\otimes F(B)\rightarrow F(A\otimes B) in \mathcal{D}, and these commute with arrows A\rightarrow A' and B\rightarrow B' in \mathcal{C}.

And, strictly speaking, we need such a natural isomorphism for every functor built from \underline{\hphantom{X}}\otimes\underline{\hphantom{X}} and \mathbf{1}. For example, there should be a natural isomorphism F_{(-((1-)-))}:F(\underline{\hphantom{X}})\otimes((F(\mathbf{1})\otimes F(\underline{\hphantom{X}}))\otimes F(\underline{\hphantom{X}}))\rightarrow F(\underline{\hphantom{X}}\otimes((\mathbf{1}\otimes\underline{\hphantom{X}})\otimes\underline{\hphantom{X}})). And, of course, all these isomorphisms should fit together well. This makes for a lot of data, and how are we going to manage it all?

The Coherence Theorem will come to our rescue! There’s a unique natural isomorphism built from \alphas, \lambdas, and \rhos taking (say) \underline{\hphantom{X}}\otimes((\mathbf{1}\otimes\underline{\hphantom{X}})\otimes\underline{\hphantom{X}}) to \underline{\hphantom{X}}\otimes(\underline{\hphantom{X}}\otimes\underline{\hphantom{X}}) in \mathcal{C} (call it \gamma) and another unique such isomorphism in \mathcal{D} (call it \delta). So we can build the above isomorphism F_{(-((1-)-))} as F(\gamma^{-1})\circ F_{(-(--))}\circ\delta. Now all we need is the natural isomorphisms for completely right-parenthesized products with no slots filled with identity objects.

And we can build these from the natural isomorphisms F_{(--)} and F_* (and make sure all the isomorphisms fit together well) — as long as these satisfy a few coherence conditions to make sure they play well with the associator and other structural isomorphisms:
Coherence Conditions for Monoidal Functors

Similarly to the terminology for monoidal categories, if the natural isomorphisms F_* and F_{(--)} are actually identities (and thus so are all the others built from them) then we call F a “strict monoidal functor”. Alternatively, some prefer to call what I’ve defined above a “weak monoidal functor”.

We aren’t quite done yet, though. At the level of sets we have sets and functions between them. Up at the category level we have categories, functors, and now also natural transformations, so we should also focus on the natural transformations that preserve monoidal structures. A monoidal natural transformation between monoidal functors \eta:F\rightarrow G is a natural transformation satisfying G_{(A,B)}\circ(\eta_A\otimes\eta_B)=\eta_{A\otimes B}\circ F_{(A,B)} and G_*=\eta_\mathbf{1}\circ F_*.

Now we have all the analogous tools for monoidal categories as we used for just plain categories to define equivalence. We say that two monoidal categories \mathcal{C} and \mathcal{D} are monoidally equivalent if there are monoidal functors F:\mathcal{C}\rightarrow\mathcal{D} and G:\mathcal{D}\rightarrow\mathcal{C} with monoidal natural isomorphisms \eta:1_\mathcal{C}\rightarrow G\circ F and \epsilon:F\circ G\rightarrow1_\mathcal{D}.

It’s useful to verify at this point that the set of isomorphism classes of objects of a monoidal category \mathcal{C} form a monoid C with \otimes as its composition and (the isomorphism class of) \mathbf{1} as identity, a monoidal functor F:\mathcal{C}\rightarrow\mathcal{D} induces a homomorphism of monoids f:C\rightarrow D, and an equivalence between \mathcal{C} and \mathcal{D} induces an isomorphism between the monoids C and D. These are all pretty straightforward, and they’re good for getting used to the feel of how equalities weaken to isomorphisms as we move from sets to categories.

June 30, 2007 Posted by | Category theory | 1 Comment

   

Follow

Get every new post delivered to your Inbox.

Join 366 other followers