In this section we will prove that adjoint functors determine each other up to isomorphism. The key tool is the concept of an “embedding of categories”. In particular, the hom bifunctor * C^{op} × C → Set* induces two “Yoneda embeddings”

* H^{(−)} ∶ C^{op} → Set^{C}* and

**H**_{(−)}∶ C → Set^{Cop}These are analogous to the two embeddings of a vector space V into its dual space that are induced by a non-degenerate bilinear function * ⟨−, −⟩ ∶ V × V → K*.

* Embedding of Categories:* Recall that a functor

*consists of:*

**F ∶ C → D**• An object function * F ∶ Obj(C) → Obj(D)*,

• For each pair of objects * c_{1}, c_{2} ∈ C*, a hom set function:

**F ∶ Hom _{C}(c_{1},c_{2}) → Hom_{D}(F(c_{1}),F(c_{2}))**

We say that F is a full functor when the hom set functions are surjective, and we say that * F* is a faithful functor when the hom set functions are injective. If the hom set functions are bijective then we say that

*is a fully faithful functor, or an embedding of categories.*

**F**An embedding is in some sense the correct notion of an “injective functor”. If * F ∶ C → D* is an embedding, then the object function F ∶ Obj(C) → Obj(D) is not necessarily injective, but it is “injective up to isomorphism”. This agrees with the general philosophy of category theory, i.e., that we should only care about objects up to isomorphism.

* Embedding Lemma:* Let

*be an embedding of categories. Then*

**F ∶ C → D***is essentially injective in the sense that for all objects*

**F***we have*

**c**_{1}, c_{2}∈ C**c _{1} ≅ c_{2} in C ⇐⇒ F(c_{1}) ≅ F(c_{2}) in D**

Furthermore, * F* is essentially monic6 in the sense that for all functors

*we have*

**G**_{1}, G_{2}∶ B → C

**G**_{1}≅ G_{2}in C^{B}⇐⇒ F ○ G_{1}≅ F ○ G_{2}in D^{B}* Proof: *Let

*be full and faithful, i.e., bijective on hom sets.*

**F ∶ C → D**To prove that * F* is essentially injective, suppose that

*is an isomorphism in*

**α ∶ c**_{1}↔ c_{2}∶ β*and apply*

**C***to obtain arrows*

**F***. Then by the functoriality of*

**F (α) ∶ F (c**_{1}) ⇄ F (c_{2}) ∶ F (β) in D*we have*

**F****F (α) ○ F (β) = F (α ○ β) = F (id _{c2} ) = id_{F(c2)}, F (β) ○ F (α) = F (β ○ α) = F (id_{c1}) = id_{F(c1)}**

which implies that * F (α) ∶ F (c_{1}) ↔ F (c_{2}) ∶ F (β)* is an isomorphism in

*. Conversely, suppose that*

**D***is an isomorphism in*

**α′ ∶ F (c**_{1}) ↔ F (c_{2}) ∶ β′*. By the fullness of*

**D***there exist arrows*

**F***such that*

**α ∶ c**_{1}⇄ c_{2}∶ β*and*

**F(α)=α′***, and by the functoriality of*

**F(β)=β′***we have*

**F****F (α ○ β) = F (α) ○ F(β) = α′ ○ β′ =id _{F(c2)} = F(id_{c2)}, F (β ○ α) = F (β) ○ F (α) = β′ ○ α′ = id_{F(c1)} = F(id_{c1})**

Then by the faithfulness of * F* we have

*and*

**α ○ β = id**_{c2}*, which implies that*

**β ○ α = id**_{c1}*is an isomorphism in*

**α ∶ c**_{1}↔ c_{2}∶ β*.*

**C**To prove that * F* is essentially monic, let

*be any functors and suppose that*

**G, G ∶ B → C**we have a natural isomorphism * Φ ∶ G_{1} ⇒^{~} G_{2}*. This means that for each object

*we*

**b ∈ B**have an isomorphism * Φ_{b} ∶ G_{1}(b) → G_{2}(b)* in

*and for each arrow*

**C***in*

**β ∶ b**_{1}→ b_{2}*we have a commutative square:*

**B**Recall from the previous argument that any functor sends isomorphisms to isomorphisms, thus by the functoriality of * F* we obtain another commutative square:

in which the horizontal arrows are isomorphisms in * D*. In other words, the assignment

*defines a natural isomorphism*

**F****(Φ)**_{b}∶=^{∼}F(Φ_{b})

**F(Φ) ∶ F ○ G**_{1}⇒ F ○ G_{2}Conversely, suppose that we have a natural isomorphism * Φ’ ∶ F ○ G_{1} ⇒^{~} F ○ G_{2}*, meaning that for each object

*we have an isomorphism*

**b ∈ B***, and for each arrow*

**Φ**_{b}∶ F (G_{1}(b)) → F (G_{2}(b)) in C*we have a commutative square:*

**β ∶ b**_{1}→ b_{2}in BSince * F* is fully faithful, we know from the previous result that for each

*∃ an isomorphism*

**b ∈ B***with the property*

**Φ**_{b}∶ G_{1}(b) →^{~}G_{2}(b) in C*. Then by the functoriality of*

**Φ**_{b}= F (Φ’_{b})*and the commutativity of the above square we have,*

**F****F(Φ _{b2} ○ G_{1}(β)) = F(Φ_{b2}) ○ F(G_{1}(β))**

**=Φ′ _{b2} ○ F(G_{1}(β))**

**= F (G _{2}(β)) ○ Φ′_{b1}**

**=F (G _{2}(β)) ○ F′(Φ_{b1})**

* = F (G_{2}(β) ○ Φ_{b1})*,

and by the faithfulness of F it follows that * Φ_{b2} ○ G_{1}(β) = G_{2}(β) = Φ_{b1}*. We conclude that the following square commutes:

In other words, the arrows * Φ_{b}* assemble into a natural isomorphism

*.*

**Φ ∶ G**_{1}⇒~ G_{2}* Lemma (The Yoneda Embeddings):* Let

*be a category and recall that for each object*

**C***we have two hom functors*

**c ∈ C*** H^{c} =Hom_{C}(c,−) ∶ C → Set* and

**H**_{c}∶ Hom_{C}(−,c) ∶ C^{op}→ SetThe mappings * c ↦ H^{c}* and

*define two embeddings of categories:*

**c ↦ H**_{c}**H ^{(−)} ∶ C^{op} → Set^{C} and H_{(−)} ∶ C → Set^{Cop}**

We will prove that * H^{(−)} * is an embedding. Then the fact that

*is an embedding follows by substituting*

**H**_{(−)}*in place of*

**C**^{op}*.*

**C****Proof:**

* Step 1: H^{(−)}* is a Functor. For each arrow

*(i.e., for each arrow*

**γ ∶ c**_{1}→ c_{2}in C^{op}*) we must define a natural transformation*

**γ ∶ c**_{2}→ c_{1}in C*, i.e., a natural transformation*

**H**^{(−)}(γ) ∶ H^{(−)}(c_{1}) ⇒ H(−)(c_{2})*. And this means that for each object*

**H**^{γ}∶ H^{c1}⇒ H^{c2}*we must define an arrow*

**d ∈ C***, i.e., a function*

**(H**^{γ})_{d}∶ H^{c1}(d) → H^{c2}(d)*. Note that the only possible choice is to send each arrow*

**(H**^{γ})_{d}∶ Hom_{C}(c_{1},d) → Hom_{C}(c_{2},d)*to the arrow*

**α ∶ c**_{1}→ d*. In other words,*

**α ○ γ ∶ c**_{2}→ d*we define,*

**∀ d ∈ C****(H ^{γ})_{d} ∶= (−) ○ γ**

To check that this is indeed a natural transformation **H ^{γ} ∶ H^{c1} ⇒ H^{c2}**

* δ ∶ d_{1} → d_{2} in C* and observe that the following diagram commutes:

Indeed, the commutativity of this square is just the associative axiom for composition. Thus we have defined the action of * H^{(−)}* on arrows in

*. To see that this defines a functor*

**C**^{op}*, we need to show that for any composible arrows*

**C**^{op}→ Set^{C}*we have*

**γ**_{1}, γ_{2}∈ Arr(C)*. So consider any arrows*

**H**^{γ1 ○ γ2}= H^{γ2}○ H^{γ1}*. Then ∀ objects*

**γ**_{1}∶ c_{2}→ c_{1}and γ_{2}∶ c_{3}→ c_{2}*and for all arrows*

**d ∈ C***we have*

**δ ∶ c**_{1}→ d**[H ^{γ2} ○ H^{γ1}]_{d}(δ) = [(H^{γ2})_{d} ○ (H^{γ1})_{d}] (δ)**

**= (H ^{γ2})_{d} [(H^{γ1})_{d}(δ)]**

**= (H ^{γ2})_{d} (δ ○ γ_{1})**

**= (δ ○ γ _{1}) ○ γ_{2}**

**= δ ○ (γ _{1} ○ γ_{2})**

**= (H ^{γ1} ○ γ_{2})_{d}(δ)**

Since this holds * ∀ δ ∈ H^{c1}(d)* we have

*, and then since this holds*

**[H**^{γ2}○ H^{γ1}]_{d}= (H^{γ1 ○ γ2})_{d}*we conclude that*

**∀ d ∈ C***as desired.*

**H**^{γ1 ○ γ2}= H^{γ2}○ H^{γ1}**Step 2:**

* H^{(−)}* is Faithful. For each pair of objects

*we want to show that the function*

**c**_{1},c_{2}∈ C

**H**^{(−)}∶ Hom_{Cop}(c_{1}, c_{2}) → Hom_{SetC}(H^{c1}, H^{c2})defined in part (1) is injective. So consider any two arrows * α, β ∶ c_{2} → c_{1} in C* and suppose that we have

*as natural transformations. In this case we want to show that*

**H**^{α}= H^{β}*.*

**α = β**Recall that ∀ objects * d ∈ C* and all arrows

*we have defined*

**δ ∈ H**^{c1}(d)*. Since*

**(H**^{α})_{d}(δ) = δ ○ α*, this means that*

**H**^{α}= H^{β}* δ ○ α = (H^{α})_{d}(δ) = (H^{β})_{d}(δ) = δ ○ β*. Now we just take

*and*

**d = c**_{1}*to obtain*

**δ = id**_{c1}**α = (id _{c1} ○ α) = (id_{c1} ○ β) = β**

as desired.

**Step 3:**

* H^{(−)}* is Full. For each pair of objects

*we want to show that the function*

**c**_{1}, c_{2}∈ C**H ^{(−)} ∶ Hom_{Cop} (c_{1}, c_{2}) → Hom_{SetC} (H^{c}1 , H^{c2} )**

is surjective. So consider any natural transformation

*. In this case we want to find an arrow*

**Φ ∶ H**^{c}1 ⇒ H^{c2}*with the property*

**φ ∶ c**_{2}→ c_{1}*. Where can we find such an arrow? By definition of “natural transformation” we have a function*

**H**^{φ}= Φ*for each object*

**Φ**_{d}∶ H^{c1}(d) → H^{c2}(d)*, and for each arrow*

**d ∈ C***we know that the following square commutes:*

**δ ∶ d**_{1}→ d_{2}Note that the category * C* might have very few arrows. (Indeed,

*might be a discrete category, i.e., with only the identity arrows.) This suggests that our only possible choice is to evaluate the function*

**C***at the identity arrow to obtain an arrow*

**Φ**_{c1}∶ H^{c1}(c_{1}) → H^{c2}(c_{1})*. Now hopefully we have H*

**φ ∶= Φ**_{c1}(id_{c1}) ∈ H^{c2}(c_{1})^{φ}= Φ (otherwise the theorem is not true). To check this, consider any element

*and any arrow*

**d ∈ C***. Substituting this δ into the above diagram gives a commutative square:*

**δ ∶ c**_{1}→ dThen by following the arrow * id_{c1} ∈ H c_{1} (c_{1})* around the square in two different ways, and by using the definition

*from part (1), we obtain*

**(H**^{φ})_{d}(δ) ∶= δ ○ φ**Φ _{d}(δ ○ id_{c1}) = δ ○ Φ_{c1} (id_{c1}) Φ_{d}(δ) = δ ○ φ**

**Φ _{d}(δ) = (H^{φ})_{d}(δ)**

Since this holds for all arrows * δ ∈ H^{c1}(d)* we have

*, and then since this holds for*

**Φ**_{d}= (H^{φ})_{d}all objects * d ∈ C* we conclude that

*as desired.*

**Φ = Hφ**Let’s pause to apply the Embedding Lemma to the Yoneda embedding * H^{(−)} ∶ C^{op} → Set^{C}*. The fact that

*is “essentially injective” means that for all objects*

**H**^{(−)}*we have*

**c**_{1}, c_{2}∈ C*in*

**c**_{1}≅ c_{2 }*.*

**C ⇐⇒ H**^{c1}≅ H^{c2}in Set^{C}[Note that * c_{1} ≅ c_{2} in C* if and only if

*.] This useful fact is the starting point for many areas of modern mathematics. It tells us that if we know all the information about arrows pointing to (or from) an object c ∈ C, then we know the object up to isomorphism. In some sense this is a justification for the philosophy of category theory. The Embedding Lemma also implies that the Yoneda embedding is “essentially monic,” i.e., “left-cancellable up to natural isomorphism”. We will use this fact to prove the uniqueness of adjoints.*

**c**_{1}≅ c_{2}in C^{op}* Uniqueness of Adjoints:* Let

*be an adjunction of categories. Then each of*

**L ∶ C ⇄ D ∶ R***and*

**L***determines the other up to natural isomorphism.*

**R*** Proof:* We will prove that

*determines*

**R***. The other direction is similar. So suppose that*

**L***is another adjunction. Then we have two bijections*

**L′ ∶ C ⇄ D ∶ R****Hom _{D}(L(c),d) ≅ Hom_{C}(c,R(d)) ≅ Hom_{D}(L′(c),d)**

that are natural in * (c, d) ∈ Cop × D*, and by composing them we obtain a bijection

**Hom _{D}(L(c),d) ≅ Hom_{D}(L′(c),d)**

that is natural in **(c,d) ∈ C ^{op} × D**

Naturality in * d ∈ D* means that for each

*we have a natural isomorphism of functors*

**c ∈ C**^{op}*in the category*

**Hom**_{D}(L(c),−) ≅ Hom_{D}(L′(c),−)*.*

**Set**^{D}Now let us compose the functor * L ∶ C^{op} → D^{op}* with the Yoneda embedding

*to obtain a functor*

**H**^{(−)}∶ D^{op}→ Set^{D}*. Observe that if we apply the functor*

**(H**^{(−)}○ L) ∶ C^{op}→ Set^{D}*to an object*

**H**^{(−)}○ L*then we obtain the functor*

**c ∈ C**^{op}**(H ^{(−)} ○ L)(c) = Hom^{D}(L(c),−) ∈ Set^{D}**

Thus, naturality in * c ∈ C^{op}* means exactly that we have a natural isomorphism of functors

*in the category*

**(H**^{(−)}○ L) ≅ (H^{(−)}○ L′)*. Finally, since the “Yoneda embedding”*

**(Set**^{D})C^{op}*is an embedding of categories, the Embedding Lemma tells us that we can cancel*

**H**^{(−)}*on the left to obtain a natural isomorphism:*

**H**^{(−)}**(H ^{(−)} ○ L) ≅ (H^{(−)} ○ L′) in (Set^{D})C^{op} ⇒ L ≅ L′ in (D^{op})C^{op}**

In other words, we have * L ≅ L′ in D^{C}*…..