A bifunctor is a functor whose domain is a product category. Thus a covariant bifunctor
from and
to
is a functor
It assigns an object
to each pair of objects and a morphism
to each pair of morphisms,
preserving identities and composition. A bifunctor
can instead be contravariant in either argument, as in the Hom
functor
,
where
denotes the category
of sets.