-----
> [!proposition] Proposition. ([[sheaf pullback and pushforward are adjoint functors]])
> Given $X,Y$ [[topological space|topological spaces]] and $f:X \to Y$ a [[continuous|continuous map]], and [[sheaf|sheaves]] $\mathcal{F}$ on $X$ and $\mathcal{G}$ on $Y$, there are natural '(co)unit' maps $f ^{-1}f_*\mathcal{F} \xrightarrow{\Psi} \mathcal{F}$ and $\mathcal{G} \xrightarrow{\Phi}f_{*}f ^{-1} \mathcal{G}$ inducing a [[natural transformation|natural]] [[bijection]] $\text{Hom}_{\mathsf{Sh}(Y)}{}(\mathcal{G}, f_{*}\mathcal{F}) \xrightarrow{\sim} \text{Hom}_{\mathsf{Sh}(X)} (f ^{-1}\mathcal{G}, \mathcal{F} ).$
> That is, the [[pullback sheaf|pullback]] [[covariant functor|functor]] $f ^{-1}:\mathsf{Sh}(Y) \to \mathsf{Sh}(X)$ is [[adjoint functor|left-adjoint]] to the [[pushforward sheaf|pushforward functor]] $f_{*}$, and $f_{*}:\mathsf{Sh}(X) \to \mathsf{Sh}(Y)$ is [[adjoint functor|right-adjoint]] to $f ^{-1}$.
>
> ```tikz
> \usepackage{tikz-cd}
> \usepackage{amsmath}
> \begin{document}
> % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRAB12BbOnACzgAzYAGU+AXwAUATQCUIcaXSZc+QigCM5KrUYs2nHvyGiJkgBrzxOmFADm8IqEEAnCFyRkQOCEi0gAIxgwKCQAZi96ZlZEEEEAPWAAWg1xBSU4tw9Efx9PaiCQ8Mi9GLiAfQAqBQpxIA
> \begin{tikzcd}
> \mathsf{Sh}(Y) \arrow[r, "f^{-1}", bend left] & \mathsf{Sh}(X) \arrow[l, "f_*", bend left]
> \end{tikzcd}
> \end{document}
> ```
>
> [!proof]- Proof. ([[sheaf pullback and pushforward are adjoint functors]])
> **Defining $\Psi:f ^{-1}f_{*}\mathcal{F} \to \mathcal{F}$.**
>
> Let $U \subset X$ be open. Parsing the definitions, one finds that the [[pullback sheaf|pullback presheaf]] $f ^{-1}f_{*}\mathcal{F}$ is given by $\begin{align}
> f ^{-1}f_{*}\mathcal{F}(U) &= \{ (V, s) : V \text{ open}, V \supset f(U), s \in f_{*}\mathcal{F}(V) \} / {\sim} \\
> & =\{ (V, s) : V \text{ open}, V \supset f(U), s \in f ^{-1}(V) \} / {\sim}
> \end{align}$
> where $\sim$ is the [[equivalence relation]] from the [[pullback sheaf]] definition. So elements of $f ^{-1} f_{*}\mathcal{F}(U)$ are represented by pairs $(V,s)$ for $V \subset Y$ open, $s \in f ^{-1}(V)$, and $V \supset f(U)$. Noting that $f ^{-1}(V) \supset U$, it makes sense to define $\Psi$ as a [[morphism of (pre)sheaves|morphism of presheaves]] via $U$-component $\Psi_{U}([V, s]):=s |_{U}.$
> Think about why this is [[well-defined]]. Then we factor this through the [[sheafification]] of the presheaf pullback to get $\Psi$ as a earnest morphism of sheaves.
>
> **Defining $\Phi: \mathcal{G} \to f_{*}f ^{-1}\mathcal{G}$.**
>
> Let $U \subset Y$ be open. Parsing the definitions, one finds at the [[presheaf]] level:
>
> $\begin{align}
> f_{*} f ^{-1} \mathcal{G}(U)&= (f ^{-1} \mathcal{G})\big( f ^{-1}(U) \big) \\
> &= \{ (V, s) : V \text{ open}, V \supset f f ^{-1}(U), s \in \mathcal{G}(V)\} / {\sim}
> \end{align}$
>
> Noting that $U \supset f f ^{-1}(U)$, we may define $\Phi$ as a morphism of *presheaves* via $U$-component $\Phi_{U}(s):=[U, s]$
> and then used the induced map in [[sheafification]] to get an earnest morphism of sheaves.
>
> **Defining the bijection.** We now define a [[bijection]]
> $\text{Hom}_{\mathsf{Sh}(X)} (f ^{-1}\mathcal{G}, \mathcal{F} )\xrightarrow{} \text{Hom}_{\mathsf{Sh}(Y)}{}(\mathcal{G}, f_{*}\mathcal{F}) .$
> Define $F:\text{Hom}_{\mathsf{Sh}(X)} (f ^{-1}\mathcal{G}, \mathcal{F} )\xrightarrow{} \text{Hom}_{\mathsf{Sh}(Y)}{}(\mathcal{G}, f_{*}\mathcal{F})$ via $(\varphi: f ^{-1}\mathcal{G} \to \mathcal{F}) \xmapsto{F} ( f_{*}\varphi \circ \Phi: \mathcal{G} \to f_{*}\mathcal{F})$
> and $G:\text{Hom}_{\mathsf{Sh}(Y)}{}(\mathcal{G}, f_{*}\mathcal{F}) \xrightarrow{} \text{Hom}_{\mathsf{Sh}(X)} (f ^{-1}\mathcal{G}, \mathcal{F} )$ via $(\psi: \mathcal{G} \to f_{*}\mathcal{F}) \xmapsto{G}( \Psi \circ f ^{-1}\psi: f ^{-1} \mathcal{G} \to \mathcal{F}).$
> The claim is that $F$ and $G$ are inverses.
>
> **Computing $F \circ G$.** Start with $\psi:\mathcal{G} \to f_{*}\mathcal{F}$: $\mathcal{G} \xrightarrow{\psi}f_{*}\mathcal{F}.$
> First we must apply $G$ to $\psi$. This is done by pulling back: $f ^{-1}\mathcal{G} \xrightarrow{f ^{-1} \psi} f ^{-1} f_{*}\mathcal{F}$
> and then postcomposing with $\Psi$: $f ^{-1} \mathcal{G} \xrightarrow{f ^{-1}\psi} f ^{-1}f_{*}\mathcal{F} \xrightarrow{\Psi} \mathcal{F}.$
> Now we apply $F$. This is done by pushing forward: $f_{*}f ^{-1} \mathcal{G} \xrightarrow{f_{*}f ^{-1}\psi} f_{*}f ^{-1}f_{*}\mathcal{F} \xrightarrow{f_{*}\Psi} f_{*}\mathcal{F}$
> and then precomposing with $\Phi$: $\mathcal{G} \xrightarrow{\Phi}f_{*}f ^{-1} \mathcal{G} \xrightarrow{f_{*}f ^{-1}\psi} f_{*}f ^{-1}f_{*}\mathcal{F} \xrightarrow{f_{*}\Psi} f_{*}\mathcal{F}$
> On an open set $U$,
>
> - [ ] unwinding this all this is still todo i guess
-----
####
----
#### References
> [!backlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM [[]]
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```
> [!frontlink]
> ```dataview
> TABLE rows.file.link as "Further Reading"
> FROM outgoing([[]])
> FLATTEN file.tags as Tag
> WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom"
> GROUP BY Tag
> ```