Yet another forms of Yoneda lemma

Given categories \ct A,\ \ct B and objects a\in Ob\ct A,\ b\in Ob\ct B, we let M_{a,b}:\ct A\ag\ct B denote the category where we freely add an arrow m:a\to b to the disjoint union of \ct A and \ct B.
This can be achieved e.g. by taking the colimit of the following \sf M-shaped diagram:

    \[\dia@R=1pc{{\bf 1}\ar[rd]^0 \ar[dd]_a && {\bf 1} \ar[ld]_1 \ar[dd]^b \\ & {\bf 2} & \\ \ct A && \ct B}\]

where \bf 1 is the terminal category and \bf 2 contains two objects, denoted by 0 and 1, and a single nonidentity arrow 0\to 1, whose image in the colimit will be the freely adjoined arrow m.
Alternatively, we can consider the profunctor induced by the span \ct A\overset{a}\ot 1\overset{b}\to\ct B (which is just the profunctor composition a^*\,b_*:\ct A\ag\ct B).

It’s straightforward to check that M_{a,b}(x\ig y)=\{\alpha m \beta\mid \alpha:x\to a,\ \beta:b\to y\}\cong \ct A(x\ig a)\times\ct B(b\ig y).

Based on the construction, for any profunctor \ct F:\ct A\ag\ct B, the profunctor morphisms M_{a,b}\to\ct F (functors that are identical on both \ct A and \ct B) are uniquely determined by where they take the freely added arrow m, and that can be any heteromorphism a\to b in \ct F.

Theorem. (Yoneda lemma for profunctors.) For any profunctor \ct F:\ct A\ag\ct B and objects a\in Ob\ct A,\ b\in Ob\ct B we have a bijection

    \[\ct Prof(M_{a,b}\ig \ct F)\,\cong\,\ct F(a\ig b)\]

natural in both a and b.

It’s also straightforward to verify that, for profunctors \ct F,\ct G:\ct A\ag\ct B, a functor \ct F\to\ct G that acts as the identity on both \ct A and \ct B, naturally corresponds to a natural transformation F\tto G where F,G are the hom functors of \ct F,\,\ct G restricted to heteromorphisms (i.e. \ct A^{op}\times\ct B\to\ct Set), and vice-versa.

This way, involving our previous observation about M_{a,b}, we can reformulate the above theorem as, for any functor F:\ct A^{op}\times\ct B\to\ct Set we have

    \[Nat(\ct A(-,a)\times\ct B(b,-)\ig F)\,\cong\, F(a,b)\]

naturally in a,b.

That clearly implies both the covariant and the contravariant versions of the original Yoneda lemma when applying it either with \ct A=1 or with \ct B=1.

Presheaves as simple extensions

A presheaf on a category \ct A is a functor \ct A^{op}\to\ct Set, so using \ct A^{op}\cong \ct A^{op}\times 1 we can even consider it as a profunctor \ct A\ag 1, which can be viewed as a left \ct A-module, or… as a simple right extension of \ct A by a single object (the object of 1).
Similarly, a presheaf on the opposite category \ct A^{op} can be though of as a right \ct A-module, or as a simple left extension.

Definition. A category \ct B with object b\in\ct B is a simple right extension of category \ct A by a new object b, if \ct A is a full(y embedded) subcategory of \ct B, \ b\notin Ob\ct A, \ Ob\ct B=Ob\ct A\cup\{b\}\, and b is not the domain of any morphism besides its identity 1_b.
Examples. For any object a\in Ob\ct A we obtain a simple right extension by joining a new object b and copying all the arrows \alpha:x\to a as \alpha_b:x\to b where x\in Ob\ct A. This extension category will be denoted by \ct A\>a.
Observe that by construction, \ct A\>a(x\ig b)\cong\ct A(x\ig a), so it’s just the hom functor \ct A(-\ig a):\ct A^{op}\to\ct Set seen as a profunctor \ct A\ag 1 where 1 is embedded into \ct A\>a as the new object b.

We can also define the empty and the unique simple right extensions by prescribing that each \ct B(a\ig b) contains exactly 0 or 1 elements, respectively.

If \ct B and \ct C are simple right extensions of \ct A, with new objects b,\, c, respectively, then a functor \ct B\to\ct C is said to be a morphism of extensions whenever it takes b to c and fixes all objects and arrows in \ct A.

Theorem. (Yoneda lemma for simple right extensions.)
For every simple right extension \ct B of \ct A, the morphisms of extensions \,(\ct A\>a)\to \ct B\, correspond to the new arrows a\to b in B, naturally in a\in\, Ob A.

Proof. Such a morphism is uniquely determined by where it takes the copy of 1_a:a\to a in (\ct A\>a) and that can be any new arrow a\to b.

Theorem. (co-Yoneda lemma for simple right extensions.)
Every simple right extension \ct B of \ct A is a colimit of simple extensions \ct A\>a.

Proof. Let a simple right extension \ct B of \ct A with new object b be fixed, and consider the following diagram D on the slice category \ct A / b: an object of that is a new arrow f:a\to b and the diagram assigns the simple extension \ct A\>a to it, whereas to an arrow \alpha:f\to g (with \alpha:a\to a_1\in\ct A,\ f\,=\,\alpha g) it assigns \fii\mapsto \fii\alpha.

Now, we get a cocone over D to \ct B by defining f^D\to\ct B to be the morphism of extensions (\ct A\>a)\to\ct B that corresponds to f:a\to b, and actually any cocone over D, with vertex \ct C determines a morphism of extensions \ct B\to\ct C by sending any new arrow f:a\to b in \ct B to the image of (the copy of) 1_a under the corresponding leg map (\ct A\>a)\to\ct C of the cocone.