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:


*

*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?

*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}$?
 A: 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.
A: 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. 
