Home

bifunctors

In category theory, a bifunctor is a functor that takes two inputs from two categories and is functorial in each input. Given categories C, D and E, a bifunctor F assigns to each pair (X in C, Y in D) an object F(X,Y) in E, and to each pair of morphisms (f: X → X' in C, g: Y → Y' in D) a morphism F(f,g): F(X,Y) → F(X',Y') in E. This assignment respects identities and composition in both variables: F(id_X, id_Y) is the identity on F(X,Y), and F(g2 ∘ g1, f2 ∘ f1) = F(g2, f2) ∘ F(g1, f1).

For fixed Y, the map X ↦ F(X,Y) together with F(f, id_Y) gives a covariant functor C → E,

Variants and variance: some authors define a bifunctor as covariant in both arguments, F: C × D

Examples: the Hom functor Hom_C(−,−): C^op × C → Set is a canonical bifunctor, contravariant in the

Applications include defining tensor products, enriched category theory, and various constructions that are naturally functorial in

and
similarly
for
fixed
X,
the
map
Y
↦
F(X,Y)
gives
a
covariant
functor
D
→
E.
Thus
a
bifunctor
is
functorial
in
each
variable
separately.
→
E.
Others
allow
contravariance
in
one
variable,
as
in
F:
C^op
×
D
→
E
(covariant
in
the
second
variable
and
contravariant
in
the
first).
When
both
arguments
are
contravariant,
one
can
have
F:
C^op
×
D^op
→
E.
The
term
“bifunctor”
is
often
used
for
the
covariant-in-both-variables
case,
but
the
broader
language
accommodates
variance
in
each
argument.
first
argument
and
covariant
in
the
second.
The
cartesian
product
functor
×:
Set
×
Set
→
Set
is
a
bifunctor,
as
is
the
tensor
product
⊗:
Ab
×
Ab
→
Ab
in
the
category
of
abelian
groups.
two
variables.
Natural
transformations
between
bifunctors
are
defined
similarly,
with
functoriality
in
each
variable
considered.