I'm reading Leinster. On page 96, when introducing the Yoneda lemma, he says that $[\mathscr A^{\text{op}}, \textbf{Set}](H_A,X)$ is a set.

Why is $[\mathscr A^{\text{op}}, \textbf{Set}](H_A,X)$ a set? I assume it is possible to prove this without the Yoneda lemma, since at this point, he hasn't yet stated the Yoneda lemma. Also, to even state the Yoneda lemma, we first need to know that $[\mathscr A^{\text{op}}, \textbf{Set}](H_A,X)$ is a set.


  1. $\mathscr A$ is a locally small category.
  2. $\textbf{Set}$ is the category of sets.
  3. $[\mathscr A^{\text{op}}, \textbf{Set}]$ is the category of functors $F : \mathscr A^{\text{op}} \to \textbf{Set}$.
  4. $X$ is a functor $\mathscr A^{op} \to \textbf{Set}$.
  5. For a category $\mathscr C$ and objects $C, D$ in $\mathscr C$, the class of morphisms from $C$ to $D$ is denoted $\mathscr C(C,D)$. In particular, $[\mathscr A^{\text{op}}, \textbf{Set}](H_A,X)$ is the class of natural transformations $H_A \to X$.
  6. For $A$ in $\mathscr A$, $H_A : \mathscr A^{\text{op}} \to \textbf{Set}$ is the functor defined by $$H_A(B) = \mathscr A(B, A),$$ for objects $B$ in $\mathscr A$ and \begin{align*} H_A(B \xrightarrow{g} B') : \mathscr A(B', A) &\longrightarrow \mathscr A(B, A) \\ p &\longmapsto p \circ g, \end{align*} for morphisms $B \xrightarrow{g} B'$ in $\mathscr A$.
  • 1
    $\begingroup$ A natural transformation $H_A \to X$ consists of components $(H_A(B) \xrightarrow{f_B} X(B))_{B \in \mathscr A}$. So we have as many components as objects in $\mathscr A$. But the objects in $\mathscr A$ don't have to form a set. So to define a natural transformation, the number of choices we have to make is greater than the size of any set. $\endgroup$
    – James
    Apr 22, 2017 at 4:39
  • $\begingroup$ Ah, I missed that $\mathscr{A}$ was only assumed to be locally small, not small. $\endgroup$
    – user14972
    Apr 22, 2017 at 4:47
  • 2
    $\begingroup$ I don't actually think this can be proved without essentially knowing Yoneda's lemma. $\endgroup$ Apr 22, 2017 at 4:47
  • 3
    $\begingroup$ Anyway, it's certainly not necessary to know that $H_A$ has small hom-sets to state the Yoneda lemma. State it as a bijection of classes; the proof shows that it's a bijection of sets. $\endgroup$ Apr 22, 2017 at 4:57
  • 2
    $\begingroup$ Its so unlikely that it's false ! Take $A$ to be a large category with no arrows (besides the identity), and $X$ to be any set with at least $2$ elements. Let $F$ be the constant functor that sends everyone to $X$. Then $[A^op, Set](F,F)$ is not a set. Indeed, for every choice of functions $(f_c)_{c\in ob(A)}$, $f_c : X\to X$, you get a natural transformation $F\to F$ -there are no arrows in $A$, so the commutativity condition trivially holds-, and since $X$ is big enough, the class of all such "families" is not a set. So the statement does not hold if you replace $H_A$ by a functor $Y$(cont.) $\endgroup$ Apr 22, 2017 at 7:55

2 Answers 2


As Leinster himself points out in this short paper, a priori $[\mathscr A^{\text{op}}, \textbf{Set}](H_A,X)$ is a class, not necessarily a set. The proof of the Yoneda lemma shows that this class is a set because it is in bijection with the set $X(A).$


Also, to even state the Yoneda lemma, we first need to know that $[A^{op},Set](H_A,X)$ is a set.

No. The Yoneda-Lemma states that the canonical map of classes

$X(A) \to [A^{op},Set](H_A,X)$

is a bijection. The right hand side is a class, the left hand side is a set. Hence, the class can be identified with a set, and this everything we need in order to treat it as a set. In some foundations, actually every set which is isomorphic to a class is a set.

  • $\begingroup$ but $[A^{op},Set](H_A,X)$ is a class because of the Yoneda lemma; natural transformations between arbitrary functors (or more generally "class-valued copresheaves") do not have to form a class. $\endgroup$ Apr 22, 2017 at 13:30
  • $\begingroup$ @Vladimir: No. The natural transformations between two arbitrary functors always consistute a class (in each foundation I can think of). $\endgroup$
    – HeinrichD
    Apr 22, 2017 at 14:53
  • $\begingroup$ specific counter-example: to any class we can associate the category with an object for each element of the class and two endomorphisms of each object (and no other morphisms). A natural endomorphism of the identity functor is then choice of one of the two morphisms for each object in the class. But if you're doing first-order logic, then you cannot, for example, quantify over arbitrary subclasses of a class, hence there is no class of natural endomorphisms of the identity functor of such categories. $\endgroup$ Apr 22, 2017 at 22:57
  • $\begingroup$ (if you insist on using universes, then you're begging the question by requiring the foundations allow for you to be able to form classes of class-functions between classes; the point is the Yoneda lemma asserts the existence of the relevant class independent of this foundational issue) $\endgroup$ Apr 22, 2017 at 23:03
  • 2
    $\begingroup$ Do you mean 'every class which is isomorphic to a set is a set'? $\endgroup$
    – James
    Apr 23, 2017 at 13:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .