co-Yoneda lemma



What is sometimes called the co-Yoneda lemma is a basic fact about presheaves (a basic fact of topos theory): it says that every presheaf is a colimit of representables and more precisely that it is the “colimit over itself of all the representables contained in it”.

One might think of this as related by duality to the Yoneda lemma, hence the name.

Every presheaf is a colimit of representables

Recall that the Yoneda lemma says that for CC a VV-enriched category, F:C opVF : C^{op} \to V a VV-valued presheaf on CC and cCc \in C an object of CC, there is a natural isomorphism in VV

[C op,V](C(,c),F)F(c). [C^{op},V](C(-,c), F) \simeq F(c) \,.

Using the definition of the enriched functor category on the left in terms of an end, this reads

cCV(C(c,c),F(c))F(c). \int_{c' \in C} V(C(c',c), F(c')) \simeq F(c) \,.

In this form the Yoneda lemma is also referred to as Yoneda reduction.

Under abstract duality an end turns into a coend, so a co-Yoneda lemma ought to be a similarly fundamental expression for F(c)F(c) in terms of a coend.

The natural candidate is the statement that every presheaf is a colimit of representables which may be stated as

F(c) cCC(c,c)F(c) F(c) \simeq \int^{c' \in C} C(c,c')\otimes F(c')


F() cCY(c)F(c), F(-) \simeq \int^{c' \in C} Y(c')\otimes F(c') \,,

where YY denotes the Yoneda embedding. In module language, using the tensor product of functors, this reads

F(c)C(c,) CF. F(c) \simeq C(c,-)\otimes_C F \,.

This statement we call the co-Yoneda lemma.

Yet another way to state this is as a colimit over the comma category (Y,F)(Y,F), for YY the Yoneda embedding:

Fcolim (UF)(Y,F)Y(U). F \simeq colim_{(U \to F) \in (Y,F)} Y(U) \,.

To show that a presheaf F:C opSetF: C^{op} \to Set is canonically presented as a colimit of representables, we exhibit a natural isomorphism

c:CF(c)×hom C(,c)F\int^{c: C} F(c) \times \hom_C(-, c) \cong F

By the definition of coend, maps cF(c)×hom C(,c)G()\int^c F(c) \times \hom_C(-, c) \to G(-) are in natural bijection with families of maps F(c)×hom C(d,c)G(d)F(c) \times \hom_C(d, c) \to G(d) extranatural in cc and natural in dd. Those are in natural bijection with families of maps F(c)hom(hom C(d,c),G(d))F(c) \to \hom(\hom_C(d, c), G(d)) natural in cc and extranatural in dd. These are in natural bijection with families of maps F(c)Nat(hom C(,c),G)G(c)F(c) \to Nat(\hom_C(-, c), G) \cong G(c) (natural in cc), where the isomorphism is by the Yoneda lemma. Thus we have exhibited a natural isomorphism

Nat( cF(c)×hom C(,c),G)Nat(F,G)Nat(\int^c F(c) \times \hom_C(-, c), G) \cong Nat(F, G)

(natural in GG). By Yoneda again, this gives cF(c)×hom C(,c)F\int^c F(c) \times \hom_C(-, c) \cong F.

If one follows the Yoneda-lemma argument at the end, one arrives at the explicit isomorphism

cF(c)×hom C(,c)F\int^c F(c) \times \hom_C(-, c) \to F

Namely, it corresponds to the family of maps

F(c)×hom C(d,c)F(d)F(c) \times \hom_C(d, c) \to F(d)

(extranatural in cc and natural in dd) which in turn corresponds to the natural family

hom C(d,c)hom(F(c),F(d))\hom_C(d, c) \to \hom(F(c), F(d))

associated with the structure of the functor F:C opSetF: C^{op} \to Set.

MacLane’s co-Yoneda lemma

In a brief uncommented exercise on MacLane, p. 62
the following statement, which is atrributed to Kan, is called the co-Yoneda lemma.

For DD a category, Set the category of sets, K:DSetK : D \to Set a functor, let (*K)(* \darr K) be the comma category of elements xKdx \in K d, let Π:(*K)D\Pi: (* \darr K) \to D be the projection (xKd)d(x \in K d) \mapsto d and let for each aDa \in D the functor Δ a:(*K)D\Delta_a: (* \darr K) \to D be the diagonal functor sending everything to the constant value aa.

The co-Yoneda lemma in the sense of Kan/MacLane is the statement that there is a natural isomorphism of functor categories

[D,Set](K,D(a,))[(*K),D](Δ a,Π). [D,Set](K, D(a, -)) \cong [(*\darr K), D](\Delta_a, \Pi).

Here is an outline of an explicit proof:


A natural transformation ϕ:KD(a,)\phi: K \to D(a, -) assigns to each element xKcx \in K c an element ϕ c(x)D(a,c)\phi_c(x) \in D(a, c), i.e., an arrow ϕ c(x):ac\phi_c(x): a \to c. We define a corresponding transformation ψ:Δ aΠ\psi: \Delta_a \to \Pi which assigns to each object (c,xKc)(c, x \in K c) in (*K)(*\darr K) the morphism ϕ c(x):ac=Π(c,x)\phi_c(x): a \to c = \Pi(c, x). It is easy to check that the naturality condition on ϕ\phi corresponds to the naturality condition on ψ\psi, and that the correspondence is bijective.

Here is a more conceptual proof in terms of comma categories:


Set classifies discrete fibrations, in the sense that a functor G:DSetG : D \to Set classifies the discrete fibration

Q:Π G:El(G)D Q : \Pi_G : El(G) \to D

and natural transformations α:GF\alpha : G \to F correspond to maps of fibrations

El(G)El(f) El(G) \to El(f)

i.e. functor which commute on the nose with the projections Π G\Pi_G, Π F\Pi_F to the base category DD).

This applies in particular to F=hom(a,)F = hom(a,-). Notice the category of elements El(hom(a,))El(hom(a,-)) is the co-slice (aD)(a \downarrow D), with its usual projection Π\Pi to DD.

However, the comma category (aD)(a \downarrow D) is the “lax pullback” (really, the comma object, the discussion at 2-limit) appearing in

(aD) Π D Id * a D \array{ (a \downarrow D) &\stackrel{\Pi}{\to}& D \\ \downarrow &\Uparrow& \downarrow^{Id} \\ * &\stackrel{a}{\to}& D }

and so a fibration map El(G)(aD)El(G) \to (a \downarrow D) corresponds exactly to a lax square

El(G) Π G D Id * a D. \array{ El(G) &\stackrel{\Pi_G}{\to}& D \\ \downarrow &\Uparrow& \downarrow^{Id} \\ * &\stackrel{a}{\to}& D } \,.

This yields the co-Yoneda lemma in the sense of MacLane’s exercise.


The coYoneda lemma appears as a brief uncommented exercise on p. 63 of

where it is atributed to Kan.

A blog discussion which led to the creation of this entry is here.

Revised on May 8, 2015 17:00:13 by Ingo Blechschmidt (