To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.

From Wikipedia, the free encyclopedia

In mathematics, specifically in category theory, hom-sets (i.e. sets of morphisms between objects) give rise to important functors to the category of sets. These functors are called hom-functors and have numerous applications in category theory and other branches of mathematics.

Formal definition

Let C be a locally small category (i.e. a category 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 category of sets as follows:

Hom(A, –) : CSet Hom(–, B) : CSet[1]
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 : XY 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 : XY 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 : BB′ and h : A′ → A the following diagram commutes:

Both paths send g : AB 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 × CSet

where Cop is the opposite category to C. The notation HomC(–, –) is sometimes used for Hom(–, –) in order to emphasize the category forming the domain.

Yoneda's 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 : BB

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. In other words, the Hom functors give rise to a full and faithful embedding of the category C into the functor category SetCop (covariant or contravariant depending on which Hom functor is used).

Internal Hom functor

Some categories may possess a functor that behaves like a Hom functor, but takes values in the category C itself, rather than Set. Such a functor is referred to as the internal Hom functor, and is often written as

to emphasize its product-like nature, or as

to emphasize its functorial nature, or sometimes merely in lower-case:

For examples, see Category of relations.

Categories that possess an internal Hom functor are referred to as closed categories. One has that


where I is the unit object of the closed category. For the case of a closed monoidal category, this extends to the notion of currying, namely, that

where is a bifunctor, the internal product functor defining a monoidal category. The isomorphism is natural in both X and Z. In other words, in a closed monoidal category, the internal Hom functor is an adjoint functor to the internal product functor. The object is called the internal Hom. When is the Cartesian product , the object is called the exponential object, and is often written as .

Internal Homs, when chained together, form a language, called the internal language of the category. The most famous of these are simply typed lambda calculus, which is the internal language of Cartesian closed categories, and the linear type system, which is the internal language of closed symmetric monoidal categories.


Note that a functor of the form

Hom(–, A) : CopSet

is a presheaf; likewise, Hom(A, –) is a copresheaf.

A functor F : CSet that is naturally isomorphic to Hom(A, –) for some A in C is called a representable functor (or representable copresheaf); likewise, a contravariant functor equivalent to Hom(–, A) might be called corepresentable.

Note that Hom(–, –) : Cop × CSet is a profunctor, and, specifically, it is the identity profunctor .

The internal hom functor preserves limits; that is, sends limits to limits, while sends limits in , that is colimits in , into limits. In a certain sense, this can be taken as the definition of a limit or colimit.

Other properties

If A is an abelian category and A is an object of A, then HomA(A, –) is a covariant left-exact functor from A to the category Ab of abelian groups. It is exact if and only if A is projective.[2]

Let R be a ring and M a left R-module. The functor HomR(M, –): Mod-RAb[clarification needed] is adjoint to the tensor product functor – R M: AbMod-R.

See also


  1. ^ Also commonly denoted CopSet, where Cop denotes the opposite category, and this encodes the arrow-reversing behaviour of Hom(–, B).
  2. ^ Jacobson (2009), p. 149, Prop. 3.9.


  • Mac Lane, Saunders (September 1998). Categories for the Working Mathematician (Second ed.). Springer. ISBN 0-387-98403-8.
  • Goldblatt, Robert (2006) [1984]. Topoi, the Categorial Analysis of Logic (Revised ed.). Dover Publications. ISBN 978-0-486-45026-1. Retrieved 2009-11-25.[dead link]
  • Jacobson, Nathan (2009). Basic algebra. Vol. 2 (2nd ed.). Dover. ISBN 978-0-486-47187-7.

External links

This page was last edited on 20 May 2022, at 12:40
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.