Why are bifunctors called "bifunctors"? They are just functors, are they not?

After all, we don't call functions of two arguments "bifunctions", or natural transformations with two parameters "binatural transformations" and what not. Is there any good reason why bifunctors are called so?

  • 3
    $\begingroup$ On the other hand we do speak about "bilinear maps" in linear algebra. Perhaps just one of those discontinuities that have to arise when one tries to generalize from several different areas with their own terminological traditions? $\endgroup$ Apr 17, 2012 at 20:05
  • 1
    $\begingroup$ But my understanding is that bilinear maps are not linear maps or vice versa. So, there you do need different terms. $\endgroup$
    – Uday Reddy
    Apr 17, 2012 at 20:09
  • $\begingroup$ Well, they are linear maps from a tensor product of vector spaces -- which is arguably similar to bifunctors being functors from a product category. (Of course in the case of bilinear maps one needs to signal somehow that it's not a linear map from the direct sum space, which does not seem to have any equivalent risk for bifunctors). $\endgroup$ Apr 17, 2012 at 20:13
  • $\begingroup$ I always had the impression that math terminology is not as rigorous as mathematics itself $\endgroup$ Apr 17, 2012 at 20:13
  • 1
    $\begingroup$ In the most basic sense bilinear maps are not linear, i.e. $f(x,y) = x\cdot y$ is bilinear, but $f(a\cdot(x,y)) = f(ax,ay) = a^2\cdot(x\cdot y) \neq a\cdot x \cdot y$ as would be the case for the "ordinary" linear map. My guess is that it is the same for bifunctors, e.g. any functor is covariant or contravariant, however, $\mathbf{Hom}(\cdot,\cdot)$ is neither (that means it is covariant in the second argument $\mathbf{Hom}(A,\cdot)$ and contravariant in first $\mathbf{Hom}(\cdot,A)$). $\endgroup$
    – dtldarek
    Apr 17, 2012 at 21:11

1 Answer 1


I don't know the real answer to your question, anyway I'll try to give to you a possibile explanation, following the suggestion of Henning Makholm.

Bifunctors can be consider a categorical version of bilinear map. A bilinear map is just a map $f \colon V \times W \to Z$, where $V$, $W$ and $Z$ are vector spaces considered just as sets, which is linear in each component. In a similar way a bifunctor is map $\mathcal F \colon \mathbf C \times \mathbf D \to \mathbf E$ of graphs, which is functorial in each component (but it has also to satisfy a condition). Before I can justify my statement let me state the following theorem:

Suppose you have two families of functors $\langle L_c \colon \mathbf D \to \mathbf E\rangle_{c \in \mathbf C}$ and $\langle R_d \colon \mathbf C \to \mathbf E\rangle_{d \in \mathbf D}$ such that:

for each pair $c \in \mathbf C$ and $d \in \mathbf D$ we have that $L_c(d)=R_d(c)$

for each pair $f \in \mathbf C(c,c')$ and $g \in \mathbf D(d,d')$ the equality $$L_{c'}(g) \circ R_d(f) = R_{d'}(f) \circ L_c(g)$$ holds

then there exists a necessarily unique functor $\mathcal F \colon \mathbf C \times \mathbf D \to \mathbf E$ such that $\mathcal F(c,d)=L_d(c)=R_c(d)$ and $\mathcal F(f,g)=L_{c'}(g)\circ R_d(f)=R_{d'}(f)\circ L_c(g)$.

So given a graph map $\mathcal F \colon \mathbf C \times \mathbf D \to \mathbf E$ such that for each $c \in \mathbf C$ and $d \in \mathbf D$ the components $\mathcal F(c,-)$ and $\mathcal F(-,d)$ are functors (which have to satisfy the condition of the theorem above), then $\mathcal F$ is a bifunctor, and $\mathcal F$ can be a bifunctor if and only if it satisfies this condition.

Anyway there's more: a bilinear map $f \colon V \times W \to Z$ (or reather $f \colon V \otimes W \to Z$) can be seen both as a map $f \colon V \to \hom(W,Z)$ and $f \colon W \to \hom(V,Z)$ through the natural bijections

$$\hom(V,\hom(W,Z)) \cong \hom(V \otimes W,Z) \cong \hom(W,\hom(V,Z))$$

and this is the real cool property of bilinear maps in the category of vector spaces.

In the category of (small) categories and functors instead we have these natural bijections

$$\hom(\mathbf C, \hom(\mathbf D,\mathbf E)) \cong \hom(\mathbf C \times \mathbf D, \mathbf E) \cong \hom(\mathbf D, \hom(\mathbf C,\mathbf E))$$

so in categorical context the role played by the tensor product for vector spaces is played by product and thus the role of bilinear maps is played by bifunctors.

I hope this explanation can be considered enough reasonable to justify the name bifunctor.

  • $\begingroup$ Ok, I guess that is a reasonable explanation. I was under the mistaken assumption that the morphism-bimorphism distinction is only made when there is a product and a separate tensor product, because there would then be a real need to distinguish between the two concepts. You are saying that the "bimorphism" terminology can be used whenever there is a closed symmetric monoidal structure. $\endgroup$
    – Uday Reddy
    Apr 17, 2012 at 22:46
  • $\begingroup$ @UdayReddy well to be exact you could talk about bi-maps (an in general multi-maps) also in monoidal (not neccessarily symmetric) categories and more in general in multicategories. Btw I suggest to avoid to call this kind of morphisms bimorphisms because this term that has a different meaning. $\endgroup$ Apr 18, 2012 at 9:27

You must log in to answer this question.

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