Concept

# Hom functor

Summary
In mathematics, specifically in , hom-sets (i.e. sets of morphisms between ) give rise to important functors to the . These functors are called hom-functors and have numerous applications in category theory and other branches of mathematics. Let C be a (i.e. a for which hom-classes are actually sets and not proper classes). For all objects A and B in C we define two functors to the as follows: {| class=wikitable |- ! Hom(A, –) : C → Set ! Hom(–, B) : C → Set |- | This is a covariant functor given by: Hom(A, –) maps each object X in C to the set of morphisms, Hom(A, X) Hom(A, –) maps each morphism f : X → Y to the function Hom(A, f) : Hom(A, X) → Hom(A, Y) given by for each g in Hom(A, X). | This is a contravariant functor given by: Hom(–, B) maps each object X in C to the set of morphisms, Hom(X, B) Hom(–, B) maps each morphism h : X → Y to the function Hom(h, B) : Hom(Y, B) → Hom(X, B) given by for each g in Hom(Y, B). |} The functor Hom(–, B) is also called the functor of points of the object B. Note that fixing the first argument of Hom naturally gives rise to a covariant functor and fixing the second argument naturally gives a contravariant functor. This is an artifact of the way in which one must compose the morphisms. The pair of functors Hom(A, –) and Hom(–, B) are related in a natural manner. For any pair of morphisms f : B → B′ and h : A′ → A the following diagram commutes: Both paths send g : A → B to f ∘ g ∘ h : A′ → B′. The commutativity of the above diagram implies that Hom(–, –) is a bifunctor from C × C to Set which is contravariant in the first argument and covariant in the second. Equivalently, we may say that Hom(–, –) is a bifunctor Hom(–, –) : Cop × C → Set where Cop is the to C. The notation HomC(–, –) is sometimes used for Hom(–, –) in order to emphasize the category forming the domain. Yoneda lemma Referring to the above commutative diagram, one observes that every morphism h : A′ → A gives rise to a natural transformation Hom(h, –) : Hom(A, –) → Hom(A′, –) and every morphism f : B → B′ gives rise to a natural transformation Hom(–, f) : Hom(–, B) → Hom(–, B′) Yoneda's lemma implies that every natural transformation between Hom functors is of this form.