Solution (source code)

= Solution

Write $K:\mathcal B\to\mathcal C$, $J:\mathcal C\to\mathcal B$, with <adjunction unit> $\rho$ and <adjunction counit> $\varepsilon$. The <adjunction> gives
$$
\mathcal C(KJC,C')\cong\mathcal B(JC,JC'),\qquad h\longmapsto J(h)\rho_{JC}.
$$
For $f:C\to C'$, precomposition with $\varepsilon_C$ followed by this <bijection> gives
$$
J(f\varepsilon_C)\rho_{JC}=Jf,
$$
by the <triangle identities for an adjunction>. Thus $J$ is <fully faithful> exactly when precomposition with $\varepsilon_C$ is bijective for every $C,C'$.

A <morphism> $e:P\to Q$ with this property is an <isomorphism>. Surjectivity for target $P$ supplies $u:Q\to P$ with $ue=1_P$. Since $(eu)e=e=1_Qe$, injectivity for target $Q$ gives $eu=1_Q$. Conversely, precomposition with an <isomorphism> is always bijective. Applied to every $\varepsilon_C$, this proves \b[the fully faithful right-adjoint criterion]:
$$
\boxed{J\text{ is fully faithful}\iff\varepsilon:KJ\Rightarrow1_{\mathcal C}\text{ is a natural isomorphism}.}
$$
When the <adjunction counit> is invertible, the inverse to $f\mapsto Jf$ is explicitly $h\mapsto\varepsilon_{C'}K(h)\varepsilon_C^{-1}$.