Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What about proper co/counter variancy of the Yoneda embedding?

$\operatorname{Hom}(C,-)$ or $\operatorname{Hom}(-,C)$?

The Wikipedia seems to say something different than my books.

Please explain it in details, stressing why it behaves this way.

share|cite|improve this question
"Contravariance", not "counter variancy". Neither of the functors you name is the Yoneda embedding. The covariant Yoneda embedding is the functor $C \mapsto \textrm{Hom}(-, C)$. The contravariant Yoneda embedding is the functor $C \mapsto \textrm{Hom}(C, -)$. – Zhen Lin Jun 15 '12 at 17:56
I don't understand the question. – Qiaochu Yuan Jun 15 '12 at 22:49
up vote 5 down vote accepted

In more detail. Let $\mathcal{C}$ be a locally small category: then for each object $c$ of $\mathcal{C}$, there is a representable presheaf $H_c = \mathcal{C}(-, c) : \mathcal{C}^\textrm{op} \to \textbf{Set}$ and a representable copresheaf $H^c = \mathcal{C}(c, -) : \mathcal{C} \to \textbf{Set}$. These extend to two different functors: $H_\bullet : \mathcal{C} \to [\mathcal{C}^\textrm{op}, \textbf{Set}]$ and $H^\bullet : \mathcal{C}^\textrm{op} \to [\mathcal{C}, \textbf{Set}]$. (What's really happening here is we are currying the bifunctor $\mathcal{C}(-, -) : \mathcal{C}^\textrm{op} \times \mathcal{C} \to \textbf{Set}$ in two different ways.)

The Yoneda lemma says that, for each presheaf $F : \mathcal{C}^\textrm{op} \to \textbf{Set}$, there is a bijection $$\textrm{Nat}(H_c, F) \cong F(c)$$ that is natural in both $c$ and $F$. By duality, for each copresheaf $G : \mathcal{C} \to \textbf{Set}$, there is a bijection $$\textrm{Nat}(H^c, G) \cong G(c)$$ that is natural in both $c$ and $G$. This immediately implies that $H_\bullet$ and $H^\bullet$ are fully faithful functors.

Now, allow me to evangelise a little about which of $H_\bullet$ and $H^\bullet$ is the "true" Yoneda embedding. In my opinion, it is the "covariant" Yoneda embedding $H_\bullet : \mathcal{C} \to [\mathcal{C}^\textrm{op}, \textbf{Set}]$ that is more fundamental. As I explain here, when $\mathcal{C}$ is small, the embedding $H_\bullet : \mathcal{C} \to [\mathcal{C}^\textrm{op}, \textbf{Set}]$ is the universal functor making $[\mathcal{C}^\textrm{op}, \textbf{Set}]$ the free cocompletion of $\mathcal{C}$. Although one could argue that $H^\bullet : \mathcal{C} \to [\mathcal{C}, \textbf{Set}]^\textrm{op}$ has a similar universal property, the fact of the matter is that $[\mathcal{C}^\textrm{op}, \textbf{Set}]$ has many of the same properties that $\textbf{Set}$ has (in the sense of being a topos), whereas $[\mathcal{C}, \textbf{Set}]^\textrm{op}$ is a rather less familiar category, in terms of intuition. (For example, what is $\textbf{Set}^\textrm{op}$? It is the category of complete atomic boolean algebras and continuous homomorphisms, but I'd like to think that we understand $\textbf{Set}$ better than $\textbf{Set}^\textrm{op}$.)

Moreover, it is more common for a category to have "wrong" or "missing" colimits (say, for example, the category $\textbf{Aff} = \textbf{CRing}^\textrm{op}$) than it is for a category to have missing limits. By passing to the category $[\mathcal{C}^\textrm{op}, \textbf{Set}]$ via the covariant Yoneda embedding, we get the opportunity to change the "wrong" colimits to something more desirable; whereas passing to the category $[\mathcal{C}, \textbf{Set}]^\textrm{op}$ via the contravariant Yoneda embedding preserves all colimits and instead destroys the limits which were already "correct"!

share|cite|improve this answer
Sorry for a stupid question: You define but not use $H_\bullet$ and $H^\bullet$. Why do you defined these? – porton Jun 16 '12 at 11:25

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.