I've been struggling to prove the adjunction between the inverse image and direct image functors for sheaves, and am looking to find either a reference/book that explains it, suggestions for an alternate proof strategy, or a sketch of a proof.
Using the fact that sheafification is left adjoint to the inclusion functor from pre-sheaves to sheaves, it suffices to show that the inverse image functor for presheaves is left adjoint to the direct image functor for presheaves. So for $f:X\to Y$ let $f^{-1}:\mathrm{Psh(Y)}\to \mathrm{Psh}(X)$ be given by $f^{-1}(\mathcal{F})(U)=\mathrm{colim}_{V\supseteq f(U)}\mathcal{G}(V)$ and let $f_*:\mathrm{Psh(X)}\to \mathrm{Psh}(Y)$ given by $f_*(\mathcal{F})(U)=\mathcal{F}(f^{-1}(U))$ be the standard direct image functor. We can construct a unit $\eta:1\Rightarrow f_*f^{-1}$ and a counit $\epsilon:f^{-1}f_*\to 1$ for the hypothetical adjunction $f^{-1}\vdash f_*$ so that $$\eta_{\mathcal{G}}(U):\mathcal{G}(U)\to \mathrm{colim}_{V\supseteq f(f^{-1}(U))}\mathcal{G}(V)=f_*f^{-1}\mathcal{G}(U)$$ and $$\epsilon_{\mathcal{F}}(U):f^{-1}f_*\mathcal{F}(U)=\mathrm{colim}_{V\supseteq f(U)}\mathcal{F}(f^{-1}(V)) \to \mathcal{F}(U) $$ are the maps one might expect. I've trying to prove the adjunction by proving the triangle identities $\epsilon f^{-1}\circ f^{-1}\eta=1$ and $f_*\epsilon\circ \eta f_*=1.$ I think I more or less understand the argument for this step, but unfortunately it seems quite nasty and difficult to get a good handle on.
Can anyone point me to a good reference that writes this out in detail? Another proof strategy I considered is explicity showing that the map $\mathrm{Hom}(f^{-1}\mathcal{G},\mathcal{F})\to \mathrm{Hom}(\mathcal{G},f_*\mathcal{F})$ given by $\phi\mapsto f_*\phi\circ \eta_G$ is both a surjection and an injection, or something like that. Would that be easier? Is there another way to do it? Perhaps we could first construct a left adjoint to $f_*$ and then show later that it takes the appropriate form? I appreciate any help, thanks.