## Category Theory for Programmers Chapter 18: Adjunctions

1. Derive the naturality square for $\psi$, the transformation between the two contravariant functors:
• $a \to \mathscr{C}(La, b)$
• $a \to \mathscr{D}(a, Rb)$
2. Derive the counit $\epsilon$ starting from the hom-sets isomorphism in the second definition of the adjunction.

3. Complete the proof of equivalence of the two definitions of the adjunction.

4. Show that the coproduct can be defined by an adjunction. Start with the definition of the factorizer for a coproduct.

5. Show that the coproduct is the left ajoint of the diagonal functor.

6. Define the adjunction between a product and a function object in Haskell.