This is a refinement of my (naive, poorly asked) question here. The reference for my question is Baez and Crans, HDA6.

Background: category objects, etc.

Let $\mathcal V$ be a category. A category object internal to $\mathcal V$ consists of the following data and properties:

  1. Objects $C_0,C_1 \in \mathcal V$ and morphisms $s,t: C_1 \to C_0$ and $i: C_0 \to C_1$.
  2. Such that $s\circ i = t\circ i = \text{id}_{C_0}$ and the pull-back $C_1 \underset{C_0}{\times} C_1 = C_1 \underset{\displaystyle ^{\searrow\!\!^{\scriptstyle s}} {C_0} ^{^{\scriptstyle t} \!\!\swarrow} }{\times} C_1 $ exists.
  3. A morphism $m: C_1 \underset{C_0}\times C_1 \to C_1$ such that $s\circ m = s_R$ and $t\circ m = t_L$, where $s_R: C_1 \underset{C_0}\times C_1 \to C_0$ is the "$s$" projection from the right factor, and similarly for $t_L$.
  4. And such that the obvious "associativity" square (two ways to get from $C_1 \underset{C_0}\times C_1 \underset{C_0}\times C_1$ to $C_1$) and "identity" triangles (three ways to get from $C_1 = C_1 \underset{C_0}\times C_0 = C_0 \underset{C_0}\times C_1$ to $C_1$) commute.

For example, a category object in $\mathcal V = {\rm SET}$ is a small category.

For this post, I will be interested in $\mathcal V = {\rm VECT}$, the category of vector spaces over your favorite field. I will call your favorite field "$\mathbb R$". A category object in ${\rm VECT}$ is a 2-vector space.

2-vector spaces are relatively mild things. Indeed, it turns out that in $\rm VECT$ the data and properties of 1-2 above uniquely determine a map $m$ satisfying 3-4.

By the general yoga known as "commutativity of internalization", a 2-vector space is the same as a "vector space object in $\rm CAT$". More precisely, let $\rm CAT$ be the category of small categories. Then it makes sense to talk about "field objects" — like a category object, a field object consists of some objects, some maps, some pull-backs, and some more maps, and some commuting diagrams. In particular, by thinking of $\mathbb R$ as a discrete category ($\mathbb R_0 = \mathbb R = \mathbb R_1$ and $s = t = i = {\rm id}$), it is in fact a field object. Then with some more diagrams, we can talk about "vector space objects over $\mathbb R$" internal to $\rm CAT$, and it is straightforward to check that these are the same as 2-vector spaces.

Background: tensor products

I know of two natural approaches to define "tensor products":

  1. Define a notion of "bilinear map", such that the assignment $X,Y,Z \mapsto \{\text{bilinear maps }X\times Y \to Z\}$ is contravariant in the first two spots and covariant in the last. Then set $X\otimes Y$ to be the object (if it exists) that represents the function $Z \mapsto \{\text{bilinear maps }X\times Y \to Z\}$.
  2. Define a notion of "internal hom", i.e. a (nice) functor $\underline{\rm Hom}: \mathcal V^{\rm op} \times \mathcal V \to \mathcal V$. For each $X\in \mathcal V$, define the functor $-\otimes X$ by declaring that it is left adjoint to $\underline{\rm Hom}(X,-)$.

Approach 1 is the way that tensor products are introduced in grade school. Approach 2 is I think more standard in the real world. We can implement each in the case of 2-vector spaces:

  1. The trick for approach 1 is that the notion of "bilinear" depends on more than just the category. So realize the category of 2-vector spaces as the category of vector spaces objects in $\rm CAT$. Recall that a morphism of 2-vector spaces is simply a morphism of underlying categories so that some diagrams commute. Then we can say the following. Let $X,Y,Z$ be 2-vector spaces. Then a morphism of underlying categories $X \times Y \to Z$ is bilinear if a bunch of diagrams commute (these diagrams refer to the vector-space-object structures of $X,Y,Z$, and are precisely the diagrams that you learned in grade school). By reproducing the proofs from vector spaces internal to $\rm SET$, this in fact defines a functor $\otimes$.
  2. Given 2-vector spaces $X,Y$, there is a category whose objects are linear functors $X \to Y$ and whose morphisms are linear natural transformations of functors, and this category has a natural structure as a 2-vector space. Moreover, the corresponding notion of $\underline{\rm Hom}$ is correctly functorial, and has an adjoint. So this approach defines a functor $\otimes$.


The two "tensor products" defined in 1-2 above do not agree.

Writing 2-vector spaces $X = (X_1 \rightrightarrows X_0)$ and $Y = (Y_1 \rightrightarrows Y_0)$ as category objects in $\rm VECT$, approach 1 gives $(X\otimes Y)_a = X_a \otimes Y_a$ for $a=0,1$, with the tensor products of the structure maps. Approach 2 also has $(X\otimes Y)_0 = X_0 \otimes Y_0$, but $(X\otimes Y)_1 \cong $ $$ X_0 \otimes Y_0 \oplus \text{coker}\Bigl( \bigl(\ker(X_1 \overset s \to X_0) \otimes \ker(Y_1 \overset s \to Y_0)\bigr) \overset{t\otimes{\rm id} - {\rm id}\otimes t}\longrightarrow \bigl( X_0 \otimes \ker(Y_1 \overset s \to Y_0) \oplus \ker(X_1 \overset s \to X_0) \otimes Y_0\bigr) \Bigr)$$ The structure maps are: $s$ is the projection onto the first factor, and $t$ is the sum of the same projection and the map ${\rm id}\otimes t + t\otimes {\rm id}$ from the second factor (it is well-defined out of the cokernel).

(There is probably a way to simplify the above description. The trick is that, as explained in HDA6, the category of 2-vector spaces is equivalent as a category to the category of 2-term chain complexes, and this is the natural "internal Hom" over there.)

Anyway, a dimension count shows that these two "tensor" constructions are inequivalent in general.



Does the tensor product of 2-vector spaces given in "approach 1" above — the tensor product defined as representing "bilinear functors" — under this tensor product, does the functor $\otimes X$ have a right adjoint?

  • 3
    $\begingroup$ Does it really make sense to talk about a "field object" in a category? I think the fact that 0 doesn't have a multiplicative inverse causes problems. Talking about a "real vector space object" wouldn't be a problem, because you take the reals as given, and have a different diagram for each real number. I don't have scratch paper with me (so I am not a mathematician right now), thus I can't be completely sure about anything I am saying, but this is what my spidey sense tells me. $\endgroup$ Apr 14, 2010 at 20:43
  • 7
    $\begingroup$ I'm starting to think that my grade school education was somehow deficient... $\endgroup$
    – S. Carnahan
    Apr 14, 2010 at 21:45
  • $\begingroup$ @Steve: We had this discussion over on the nLab recently, and it does in fact make sense, but it is not useful. $\endgroup$ Apr 14, 2010 at 22:13
  • $\begingroup$ @Steve: Well, I think so. I mean, if I have both pull-backs and push-outs, then absolutely, because then I can say things like "the nonzero elements". So in Cat I can talk about field objects. But maybe if I only have pull-backs, I cannot? $\endgroup$ Apr 15, 2010 at 1:39
  • 1
    $\begingroup$ When you define "X objects" of a category C in terms of diagrams involving only limits (i.e. as the models in C of a limit sketch) the resulting category is independent of the presentation of the notion X. That is, if two limit sketches have the same models in Set, they have the same models in any (reasonable) C. However, this need not hold for models of general sketches. For instance, cogroups in Set are just Sets, but the same is not true for general C. So there might not be a notion of "internal field object" which is canonically associated to the category of fields. $\endgroup$ Apr 15, 2010 at 2:43

1 Answer 1


I'll denote your category of 2-vector spaces by 2Vect. By your preliminary remarks, 2Vect is actually the category of Vect-valued presheaves on Δ≤1 where Δ≤1 denotes the full subcategory of Δ on the objects [0] and [1]. Therefore, colimits in 2Vect are computed objectwise under this identification. So the functor – ⊗ X certainly has a right adjoint Hom(X, –) (by the adjoint functor theorem for locally presentable categories). This adjunction also respects the Vect enrichment.

To compute this adjoint, we can use the "Vect-enriched Yoneda lemma": writing Δi for the 2-vector space (Δi)j = HomΔ≤1([j], [i]) • ℝ, we have hom2Vecti, X) = Xi as vector spaces, where hom denotes the Vect-enriched Hom. So

Hom(X, Y)0 = hom(Δ0, Hom(X, Y)) = hom(Δ0 ⊗ X, Y) = hom(X, Y)

since Δ0 happens to be the unit for this ⊗, but

Hom(X, Y)1 = hom(Δ1 ⊗ X, Y)

will have a more complicated formula which you'll have to work out (my guess is it will look similarly complicated to your expression for the other tensor product).


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .