# Why do natural transformations between set valued functors from locally small categories form a set?

I have been working through Categories by TS Blythe. I worked through his proof of the Yoneda lemma (I have a basic understanding of universal constructions, Functors, Natural Transformations). There is one step I don't really follow.

Let $C$ be a locally small category, $F:C\to Set$ a functor, $h^A:C \to Set$ be the covariant morphism functor $\hom(A,\,- )$ and $Nat(h^A,F)$ be the class of natural transformations between the two functors.

For $\eta \in Nat(h^A,F)$ and a morphism $f:A\to X$ in $C$ it is shown that $\eta_X(f)=Ff(\eta_A(1_A))$

He states that this establishes that $Nat(h^A,F)$ must be set because $\eta_X$ is "completely determined" by $\eta_A(1_A) \in FA$. Then he moves on with no further explanation. My attempt to fill in the gaps is below:

I want to say that it has been shown that for every natural transformation $\eta$ there is an element in $a\in FA$ such that $\eta_X= (F(-))(a)$ where $(-)$ is waiting to take a morphism $A\to X$

This suggests there is something like a surjective function $a\mapsto (F(-))(a)=\eta$ which would say that there is a surjection $FA \to Nat(h^A,F)$ implying there can't be too many elements in $Nat(h^A,F)$ for it to fail to be a set.

I have no idea whether any of this reasoning is valid or not. Blythe doesn't really talk about the difference between classes and sets. Can someone help me through this? Further tips for reasoning about classes and sets would also be welcome.

I am looking for a relatively self-contained answer.

There are (at least) two prima facia inequivalent Yoneda lemmas. One is the Yoneda lemma for "class-valued functors", which is what is usually proven in introductory textbooks (e.g. the argument up to the step you don't follow). The second, which is more difficult and usually stated in texts on enriched category theory, is the Yoneda lemma for categories enriched in closed categories.

On the one hand, the category of sets is (I think in most axiomatizations) cartesian closed, the closed aspect referring to the fact that we have for any two sets $Y$ and $Z$ a set $Z^Y$ of morphisms between them, rather than a class. (The cartesian aspect referring to the fact that two-variable morphisms out of a product $X\times Y\to Z$ curry to one-variable morphisms $X\to Z^Y$).

Thus, from a categorical point of view, the natural Yoneda lemma to try stating and proving for the category of sets is the enriched Yoneda lemma for categories enriched in the category of sets. This is significantly more involved than the statement and proof of the Yoneda lemma for classes, for the simple reason that enriched categories, enriched functors, and enriched natural transformations involve more data than plain categories, functors, and natural transformations.

On the other hand, in most axiomatizations sets are supposed to be "small classes" in the following sense. A class can be thought of simply as a formula in first-order logic, or better, as a collection of tuples of elements that the first-order formula is describing. The class of all sets is a particular collection satisfying (infinitely many in the case of ZFC) axioms. The two relevant axioms for this discussion are

1. A set is uniquely determined by its class of elements, i.e. $\forall x(x\in A\leftrightarrow x\in B)\implies A=B$.
2. The axiom schema of specification, which states that any subclass of a class of elements of a set is a class of elements of some set, i.e. $\forall x(\phi(x)\rightarrow x\in A)\implies\exists B(y\in B\leftrightarrow \phi(y)$.

Since a function $X\to Y$ between two sets is encoded by its graphs, i.e. as the subset $\{(x,y)\in X\times Y:f(x)=y\}\subseteq X\times Y$, the first axiom shows that a morphism between sets is fully determined by the corresponding class function between the classes of elements (i.e. fully determined by where it sends elements). The second axiom allows you to construct a morphisms between sets from any class function between the classes of elements. One can thus think of these axioms as identifying sets with their classes of elements, and morphisms between sets with the class functions between them. In particular, it allows you to transport the Yoneda lemma for classes to the Yoneda lemma for sets (secretly what's happening is that the additional data necessary to be an enriched functor or natural transformation becomes trivial, and the Yoneda lemma for classes descents to the enriched Yoneda lemma).

Back to the proof, the formula $\eta_X(f)=Ff(\eta_A(1_A))$ really says that the morphism $X^A\xrightarrow{\eta_X}FX$ has to correspond to a subset $\{(f,b)\in X^A\times FX:\eta_X(f)=Ff(\eta_A(1_A))\}\subseteq X^A\times FX$, which is unique by the first axiom and exists by the second.

(Word of warning: a natural transformation is a class function from the objects of one category to the morphisms of another, satisfying a certain property, so a priori the natural transformations from one functor to another don't even form a class. The Yoneda lemma (for "class-valued functors") asserts that in the case where the domain "class-valued functor" is representable by an object $A$, the natural transformations are fully determined by the objects in the class $FA$, hence we define $Nat(h^A,F)$ to be the class. In the case when the "class-valued functor" is valued in sets ("small classes"), then $Nat(h^A,F)$ is small, i.e. can be identified with a set. The axiom of replacement is what guarantees that when the class of objects of the domain category is small, we have a class of natural transformations between any two functors).