Yoneda embedding

Functor

context ${\bf C}$ … small category
definiendum $\mathcal y$
inclusion $\mathcal y$ in ${\bf C}\longrightarrow{\bf Set}^{{\bf C}^\mathrm{op}}$
definition $\mathcal y\,A:=\mathrm{Hom}_{\bf C}(-,A)$
definition $\mathcal y(\,f):=g\mapsto f\circ g$

Discussion

Elaboration on the action on arrows

Consider a general arrow $f:{\bf C}[A,B]$.

In the presheaf category ${\bf Set}^{{\bf C}^\mathrm{op}}$, the image arrow

$\mathcal y(\,f)$ in $\mathrm{nat}\left(\mathrm{Hom}_{\bf C}(-,A),\mathrm{Hom}_{\bf C}(-,B)\right)$

is the natural transformation, with components

$y(\,f)_X:{\bf C}[X,A]\to{\bf C}[X,B],$

mapping an arrow $g$ to an arrow $f\circ g$. So by post-composition, this just redirects arrows in ${\bf C}[X,A]$ to arrows in ${\bf C}[X,B]$.

Nationality of the fmap

Let $g: X\to Y$ and $f: A\to B$.

We make $f$ into a natural transformation from $\mathrm{Hom}(-,A)$ to $\mathrm{Hom}(-B)$ via the following square:

$h: \mathrm{Hom}(Y,A)$ … $f\circ h : \mathrm{Hom}(Y,B)$

$h\circ g : \mathrm{Hom}(X,A)$ … $f\circ h\circ g : \mathrm{Hom}(X,B)$

Note how the $\mathrm{Hom}$-functors themselves are contravariant, as seen by the direction of the vertical arrows: $g: X\to Y$ but e.g. the associated fmap goes from $\mathrm{Hom}(Y,A)$ to $\mathrm{Hom}(X,A)$.

Yoneda lemma

The Yoneda lemma says that this functor $y$ is full and faithful, implying there are no other natural transformations between the hom-functors than the ones arising from arrows in $\bf C$. For the following elaborations, recall two things:

Special case for Hom - Yoneda embedding

As a warm-up, Consider a singleton $1$ in $\bf Set$ and notice that ${\bf Set}[1,A]$ is in bijection with $A$ itself. So if $A,B,\dots$ are the objects of $\bf Set$, then I can provide you with ${\bf Set}[1,A],{\bf Set}[1,B],\dots$, and just by adding all possible functions between them, you can fully reconstruct $\bf Set$. If ${\bf Set}[1,A]$ already knows everything about $A$, then so does the functor $\mathrm{Hom}_{\bf Set}(-,A)$, which lives in a functor category.

Now we consider a category ${\bf C}$, let's write $h_A:=\mathrm{Hom}_{\bf C}(-,A)$ and think of $h_A$ as objects in the functor category ${\bf Set}^{{\bf C}^\mathrm{op}}$. How do the arrows between objects $h_A,h_B$ etc., i.e. the natural transformations, relate to the arrows between the initial objects $A,B$? The special case of the Yoneda lemma for the Hom-functor, says that they are in fact already (naturally) isomorphic! For all $A,B\in {\bf C}$, we have:

${\bf Set}^{{\bf C}^\mathrm{op}}[h_A,h_B]:=\mathrm{nat}(h_A,h_B)\cong{\bf C}[A,B]$

The cool thing of the lemma is that it says you can super-size the objects by passing from objects $A$ of $\bf C$ to objects $h_A=\mathrm{Hom}_{\bf C}(-,A)$ of ${\bf Set}^{{\bf C}^\mathrm{op}}$, but then the arrow structure there isn't new. Morally, the objects are replaced by the totality of ways of looking a them: “A thing is only the sum of its relations to the rest of the world”.

The nice thing also is that the ambient category will contain new objects (functors) that relate to the original category. In particular, the functor category is the “free co-completion”: disjoint sum-like objects are guaranteed to exist, etc., just as for sets. See also the discussion in Set.

General version

Consider a (locally Cartesian closed, I think) category $\bf C$. The Yoneda lemma now says that the above construction works for any contravariant functor $F$ which represents your mathematical structure in terms of sets (presheaf):

${\bf Set}^{{\bf C}^\mathrm{op}}[h_A,F]:=\mathrm{nat}(h_A,F)\cong F\,A$

This might be read in two directions:

The Hom-functors, which know about this arrow structure, are the most important objects in the functor category.

Important remark: And the Yoneda lemma works just as much for covariant functors $G$ and then involves $h^A:=\mathrm{Hom}_{\bf C}(A,-)$.

The following picture is taken from Tom Leinsters “The Yoneda Lemma - What is it all about”:

Here is an image, which “explains” the Yoneda lemma and its proof:

Reference

Wikipedia: Yoneda lemma,

nLab: Yoneda lemma, Yoneda embedding

Parents

Element of

Functor

Requirements

Hom-functor, Presheaf category