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