# Understanding contravariant functors and inner products

The following question is a bit vague, but maybe someone can help me to make this more precise (and maybe even give an answer).

Consider the following two situations:

1. On the 2-cateogry $$\mathrm{Cat}$$ of categories, functors and natural transformations we have a 2-functor $$\mathrm{op} \colon \mathrm{Cat} \to \mathrm{Cat}^{\mathrm{co}}$$, where $$\mathrm{Cat}^{\mathrm{co}}$$ denotes the 2-category $$\mathrm{Cat}$$ with the direction of natural transformations reversed. Generally, we might be interested in contravariant functors, which consists of a pair of categories $$(A,B)$$ and a functor $$F \colon A \to B^\mathrm{op}$$. But now $$A$$ is an object of $$\mathrm{Cat}$$, while $$B$$ is an object of $$\mathrm{Cat}^\mathrm{op}$$. So how can we talk about a morphism between objects of different 2-categories?
2. On the category $$\mathrm{Vect}$$ of real vector spaces we have a functor $${}^* \colon \mathrm{Vect} \to \mathrm{Vect}^\mathrm{op}$$ mapping vector spaces to their duals. Interesting additional structure on a vector space is given by an inner product, which is equivalently a linear map $$V \to V^*$$. But now $$V$$ is an object in $$\mathrm{Vect}$$, while $$V^*$$ is an object in $$\mathrm{Vect}^\mathrm{op}$$. Again, how can we talk about morphisms between objects of different categories?

The obvious answer is that $$\mathrm{Vect}$$ and $$\mathrm{Vect}^\mathrm{op}$$ share the same class of objects. And $$\mathrm{Cat}$$ and $$\mathrm{Cat}^\mathrm{co}$$ share the same objects and 1-morphisms. How can one encode this categorically? And even if we accept that, why do we, for example, treat $$V^*$$ as an object in $$\mathrm{Vect}$$ and not $$V$$ as in object in $$\mathrm{Vect}^\mathrm{op}$$?

• I think you're confusing yourself; both $A$ and $A^{op}$ live in $Cat$ since they're both categories, and they both also live in $Cat^{op}$ since they're also both opposites; $A^{op}$ is the opposite of $A$ by defn, and this gives that $(A^{op})^{op}=A$ so $A$ is also an opposite category living in $Cat^{op}$. With vector spaces the situation is a little tricky, since taking dual vector spaces isn't an involution while taking dual categories is, but for the categorical setting there is no issue. Commented Dec 11, 2020 at 20:40

When we say "Let $$\mathcal A$$ be a category", there actually is a bit of ambiguity about what category $$\mathcal A$$ itself lies in. It could be $$\mathcal Cat$$, $$\mathcal Cat^{op}$$, $$\mathcal Cat^{co}$$, etc. The key is how our constructions transform with the morphisms in whatever category we choose.

For example, if $$\mathcal A$$ and $$\mathcal B$$ are categories, we can form the functor category $$\mathcal{Cat}(\mathcal A, \mathcal B)$$. That doesn't mean we have a map $$\mathcal{Cat} \times \mathcal{Cat} \to \mathcal{Cat}$$. Instead, it's a map $$\mathcal{Cat}^{op} \times \mathcal{Cat} \to \mathcal{Cat}$$ since given a functor $$f \colon \mathcal A \to \mathcal {A'}$$, we get a functor $$\mathcal{Cat}(f, \mathcal B) \colon \mathcal{Cat}(\mathcal {A'}, \mathcal B) \to \mathcal{Cat}(\mathcal A, \mathcal B)$$. You can also check that natural transformations $$f \to f'$$ give natural transformations $$\mathcal{Cat}(f, \mathcal B) \to \mathcal{Cat}(f', \mathcal B)$$. Similarly, you can check that the functor category is covariant in its second argument.

Let's see what that means for $$\mathcal{Cat}(\mathcal A, \mathcal B^{op})$$. In order to form this, we need $$\mathcal A \in \mathcal {Cat}^{op}$$ and $$\mathcal B^{op} \in \mathcal {Cat}$$. That means that $$\mathcal B$$ is in $$\mathcal {Cat}^{co}$$. So when we talk about contravariant functors from $$\mathcal A$$ to $$\mathcal B$$, we're implicitly taking $$\mathcal A$$ to be in $$\mathcal {Cat}^{op}$$ and $$\mathcal B$$ to be in $$\mathcal {Cat}^{co}$$, or at least that's what we should do.

Carrying out this sort of analysis in the $$\mathcal {Vect}$$ example, it actually works out fine.

In order to form the set of maps $$V \to V^{*}$$, we need both $$V \in \mathcal {Vect}^{op}$$ and $$V^{*} \in \mathcal {Vect}$$. But that means that $$V \in \mathcal {Vect}^{op}$$ either way. So this particular construction varies (contravariantly) with all maps in $$\mathcal {Vect}$$.

To do this kind of analysis in general, we might sometimes need one more component: the core. The core of a category is the category with the same objects, but whose morphisms are only the isomorphisms of the original category. I'll denote this $$\mathcal C^{core}$$. Note that $$(\mathcal C^{op})^{core} \simeq \mathcal C^{core}$$. One key property of the core is that there's a both a functor $$\mathcal C^{core} \to \mathcal C$$ and $$\mathcal C^{core} \to \mathcal C^{op}$$, so if $$x \in \mathcal C^{core}$$, it can equally be mapped to $$\mathcal C$$ or $$\mathcal C^{op}$$, but it only transforms via isomorphisms, rather than all morphisms.

This is useful when the same object is used both covariantly and contravariantly. For example, the endomorphism monoid $$\mathcal C(x, x)$$ uses $$x$$ in both ways. That means that this construction doesn't transform with all morphisms, but only isomorphisms. That is, if there's a morphism $$x \to y$$, we shouldn't expect there to be a corresponding morphism $$\mathcal C(x, x) \to \mathcal C(y, y)$$. The same thing applies to the automorphism group of an object.

If we apply our analysis to $$\mathcal C(x, x)$$, we need both $$x \in \mathcal C^{op}$$ and $$x \in \mathcal C$$. To achieve this, we take $$x \in \mathcal C^{core}$$ and use the maps $$\mathcal C^{core} \to \mathcal C$$ and $$\mathcal C^{core} \to \mathcal C^{op}$$ to satisfy both.

If you put the op on the first variable things get less confusing. If you define the dual as a functor $$^* : \text{Vect}^{op}\to \text{Vect}$$, then the definition of the inner product is what it should be : a maps $$V \to V^*$$ in the category of vector spaces. This means that in $$\text{Vect}^{op}$$, an inner product is a map $$V^*\to V$$.

The same goes for the first part, if you put the $$co$$ on the domain of the $$2$$-functor $$op$$, you get that a contravariant functor is a $$1$$-morphism $$F: A \to B^{op}$$ in $$\text{Cat}$$, but here since this is also a $$1$$-morphism in $$\text{Cat}^{co}$$ it doesn't really matter.

• But I would still have the problem that formally $V$ and $V^*$ end up in two different categories, namely $\mathrm{V}^\mathrm{op}$ and $\mathrm{V}$, respectively. Commented Feb 5, 2020 at 7:54
• Why would $V$ be in the wrong category now ? When you define the inner product, you are making a statement in the category $\text{Vect}$, you are saying in vector spaces you are given a map $V\to V^*$ where $V^*$ is the image of $V$ which is also an object of $\text{Vect}^{op}$ under $^*$. Commented Feb 5, 2020 at 8:11
• The only thing is important, I think, is that you chose which category you are using to define your structure maps. Commented Feb 5, 2020 at 8:13
• I agree, that one needs to choose in which category ($\mathrm{V}$ or $\mathrm{V}^\mathrm{op}$) the map $V \to V^*$ should live. But in order to do that we need to identify an object of $\mathrm{Vect}$ with an object of $\mathrm{Vect}^\mathrm{op}$ (or the other way around). What I do not understand is how one can formulate this precisely. Commented Feb 5, 2020 at 8:44
• The have the same class of objects by definition, so $V^*$ makes reference to an object of both, don’t overthink it otherwise you’ll end up drowning in universes, accessible ordinals and other scary stuff. Commented Feb 5, 2020 at 9:52