I'm having some trouble understanding the correctness of some proof in Sheaves in Geometry and Logic (Mac Lane, Moerdijk). It concerns the lemma III.5.3 :
If $F$ is a sheaf and $P$ a presheaf, then any map $\phi \colon P \to F$ of presheaves factors uniquely through $\eta$ as $\phi = \tilde\phi \circ \eta$.
$$ \begin{matrix} P & \stackrel \eta \to & P^+ \\ & \!\!\!\!\!\!_\phi\searrow & \downarrow \small{\tilde\phi} \\ & & \!\!\!\!F\end{matrix}$$
Recall the plus construction : $P^+(C)$ is the equivalent class of matching families under the relation $(x_f)_{f\in S} \sim (y_g)_{g \in R}$ ($R,S$ covering sieves of $C$) iff there is some covering sieve $T \subseteq S \cap R$ on which $x_f = y_f$ forall $f \in T$.
Recall the morphism $\eta$ : $$\eta_C \colon P(C) \to P^+(C),\, x \to [(Pf(x))_{f \colon D \to C}].$$
I easily understand the definition of $\tilde\phi_C(\mathbf x)$ for some equivalent class $\mathbf x = (x_f)_{f\in S}$ : we push the matching family $(x_f)$ by $\phi_C$ into a matching family of $F$ ; being a sheaf, $F$ admit a unique amalgamation in $F(C)$ that we define to be $\tilde\phi_C(\mathbf x)$. The well-definition is no problem. What bother me is to check that $\tilde\phi = (\tilde\phi_C)_C$ is actually natural in C.
We want a commutative diagram $$ \begin{matrix} P^+C & \stackrel {Ph} \to & P^+D \\ \small{\tilde\phi_C}\downarrow \ \ \ & & \ \ \ \downarrow\small{\tilde\phi_D} \\ FC & \stackrel{Fh} \to & FD \end{matrix}$$ for all $h \colon D \to C$. For an element $\mathbf x = (x_f)_{f\in S}$, and $h \in S$, the stability axiom of Grothendieck topologies assure $h^\ast S = \hom(-, D)$, and so the commutativity is immediat from the definition of $\tilde\phi_C(\mathbf x)$ as amalgamation.
But I'm stuck with the case where $h \notin S$, and (it seems to me that) it is not treated in the proof of Mac Lane. Maybe can we always find $\mathbf y = (y_g)_{g\in R}$ with $\mathbf x \sim \mathbf y$ and $h \in R$, but I can't see it.
Let me write $w$ for the equivalence class in $P^{+}C$ of a matching family $(x_{f})_{f\in R}$ for a covering sieve $R$ of $C$. Now the down-right path sends $w$ to $Fh(y)$, where $y$ is the only amalgamation for the matching family $(\phi_{dom (f)}(x_{f}))_{f\in R}$. The right-down path maps $w$ to $z\in FD$, where $z$ is the only amalgamation for $(\phi_{dom (hf')}(x_{hf'}))_{f'\in h^{\ast}(R)}=:k$ (recall the definition of $P^{+}h$ for an arrow $h$). In order to show that going the two way gives the same result it suffices to show that $Fh(y)$ is an amalgamation of $k$: if $f'\in h^{\ast}(R)$ $$Ff'(Fh(y))=(F(hf'))(y)=\phi_{dom (hf')}(x_{hf'})$$ where the last equality is by definition of $y$ and we are done. I hope it's clear enough (fill in the details!) and that I didn't make some mistakes.