The Problem With Lax Functors
Posted by Mike Shulman
As many readers probably know, part of categorification involves replacing equalities by coherent isomorphisms or equivalences. This is basically unavoidable, since after replacing sets by categories, they’re now objects of a category, so it would be evil to ask them to be equal instead of isomorphic. However, there’s another side to categorification: once we turn equalities into isomorphisms, we can go one step further and allow them to be arbitrary morphisms, not even invertible.
Over at the nLab we’ve been discussing how to distinguish between these two terminologically. Whatever we call them, they’re both indisputably important. But the second one (“directification” or “laxification”) has some subtleties that can trap the unwary. In particular, the notion of lax functor between 2-categories (or -categories for ) is surprisingly ill-behaved. You can’t make a tricategory out of 2-categories, lax functors, and any of the usual sorts of transformations. In fact, lax functors are not even invariant under equivalence!
(Thanks to Chris Schommer-Pries for bringing up this question at mathoverflow and on SBS. I thought I’d take the liberty of elaborating here, since it gives me the opportunity to proselytize a bit more on one of my favorite topics.)
Different people seem to have different initial responses to the idea of lax things (where structure is only preserved up to not-necessarily-invertible morphisms). If you’re used to thinking only about “groupoidal categorification,” then allowing things not to be invertible may seem really dangerous. And you’re not wrong. But if you’re used to thinking about, say, monoidal functors, then requiring everything to be invertible seems far too restrictive. And you’re not wrong there either.
The “pseudo” (or “strong”) kind of functor between monoidal categories, which is the one you might first come up with if you sit down and think “hey, let’s categorify monoids and monoid homomorphisms!”, comes with a natural isomorphism . However, while these do occur, in practice one very often also sees lax monoidal functors which have only a morphism . (Colax monoidal functors have a morphism in the other direction. One way to remember which is which is that lax monoidal functors preserve monoids—if I have a multiplication , then a lax monoidal functor gives me a multiplication . And dually, colax monoidal functors preserve comonods.) One particularly important example of a lax monoidal functor that isn’t pseudo came up here just recently.
Lax monoidal functors are great things and behave just about as nicely as you could wish. There is a 2-category of monoidal categories, lax monoidal functors, and monoidal transformations, which of course contains the 2-category where we restrict the monoidal functors to be strong. And by some 2-categorical diagram chasing called “doctrinal adjunction,” any left adjoint in is automatically strong monoidal. In particular, any equivalence in consists of strong monoidal functors, since any equivalence in a 2-category can be improved to an adjoint equivalence. Thus, the notion of “equivalence of monoidal categories” doesn’t depend on what kind of functor you pick, and the notion of “lax monoidal functor” is invariant under this equivalence.
(There’s also, of course, a similar 2-category with dual properties. If, like me, you are unhappy with this situation, there’s also a double category that combines lax and colax monoidal functors.)
But now, of course, monoidal categories are just (weak) 2-categories with one object, so it’s natural to generalize lax monoidal functors to lax functors between 2-categories. And in fact there are plenty of important examples of these too. For instance, any lax monoidal functor induces a lax functor between 2-categories of profunctors; this sort of functor is important for “change of enrichment” arguments. If denotes the terminal 2-category, then a lax functor , for any 2-category , is the same as a monad in . And more generally, for any set , if denotes the chaotic or indiscrete 2-category with set of objects , a unique 1-morphism between any two objects, and only identity 2-cells, then lax functors are the same as “-enriched categories” with set of objects . (If the idea of categories enriched in a 2-category is unfamiliar, just think of the case when is a monoidal category, regarded as a 2-category with one object.)
But wait a minute! The 2-category is equivalent to , but certainly not every enriched category is equivalent to one having only one object! So lax functors can’t be invariant under the usual notion of equivalence of 2-categories. That is, if and are equivalent 2-categories, then I can’t expect to have equivalent 2-categories and .
That already tells us that there’s no hope of a good situation like for monoidal categories, where equivalences in are the same as equivalences in . We might still hope that there’s some 3-category “,” even if the equivalences in it aren’t the same as those in . But it turns out that fate basically conspires against us here too.
The problem hinges on what the 2-cells in our putative 3-category are going to be. Suppose are lax functors; what is a transformation between them? Clearly it should have components , with some sort of naturality condition relating to squares like We could choose to ask this square to commute up to isomorphism (a pseudo natural transformation), or merely up to a morphism in one direction or the other (a lax or colax transformation). All of these work up to a point: we get hom-2-categories consisting of lax functors, ??? transformations (could be pseudo, lax, or oplax), and “modifications.”
However, in no case do we get a 3-category. Why? Well, one of the things you can do in a 3-category is “whisker” a 2-cell with a 1-morphism . But now suppose is a lax functor and is one of the kinds of transformation above. For the sake of argument, suppose the 2-cell component of goes in this direction: We’d like to get a square i.e. a 2-cell but how can we do that? The obvious thing to do is to apply to , but this gives us only a 2-cell If were a strong functor, then we could compose with constraints like on either side like so: But since is only lax, one of these two transformations is going the wrong way, and we’re out of luck. Clearly it wouldn’t help matters if were a strong or oplax transformation; we just can’t compose morphisms “head-to-head” or “tail-to-tail.”
So we’re stuck: there is no 3-category of 2-categories, lax functors, and any of the usual sort of transformation. Does this mean that lax functors are terrible things and we should throw them out the window? Well, maybe. There are a few remedies one can try. There is a 1-category of 2-categories and lax functors; it just so happens that lax functors compose strictly associatively. There is even a 2-category of 2-categories and lax functors, where the morphisms are a restricted sort of transformation called an icon. (One interesting thing is that when you regard monoidal categories as 2-categories with one object, lax monoidal functors get identified with lax functors of 2-categories, but monoidal transformations get identified, not with any of the usual sorts of transformation between 2-categories, but with icons! This “explains” why things work so well in the monoidal case but fail in the 2-categorical case, and also leads into some of the subtleties relating to the delooping hypothesis.)
Personally, however, I think the best solution is to consider double categories instead of 2-categories. Many of the 2-categories for which we care about lax functors, such as 2-categories of modules and profunctors, can be enhanced to double categories by adding extra “vertical” arrows. There is a good notion of lax functor between double categories, and of “vertical transformation” between such functors, and these things do arrange themselves into a 3-category . The key is that the lax functors are laxly functorial on horizontal arrows (the arrows in our original 2-categories), but strict or strongly functorial on the new vertical arrows, while the components of the transformations are vertical and thus naturality is preserved by whiskering. Moreover, all the nice things about are also true for ; for instance, any equivalence in consists of strong functors, and lax functors of double categories are invariant under equivalence. There are also lots of nice adjunctions in that are hard to see or describe from a purely 2-categorical setting. Some more on this point of view can be found here, although that only gets as far as a version of that is a 2-category. If you want the full 3-categorical glory, the only place I know of to find it written down is Dominic Verity’s still (?) unpublished thesis.
So, what do we conclude from the poor behavior of lax functors between 2-categories? My personal conclusion is that whenever we start seeing lax functors appearing, it’s a good bet that our 2-categories are really double categories.
Re: The Problem With Lax Functors
I’ve always disliked the idea of lax functors being actual functors, because they don’t behave like functors “should”. I feel like we want our notion of a functor to be a generalization of the classical idea of an algebraic homomorphism.
They always seemed too messy to me, like something was wrong in principle and the definition was unnatural.