My question concerns a statement about two equivalent (why ?) characterisations of sheaves on sites introduced in https://en.wikipedia.org/wiki/Grothendieck_topology#Sites_and_sheaves
We start with a site $(C, J)$ and consider a presheaf $F: C^{op} \to Set$.
Intuitively - if we transfer the characterisation for a sheaf on Zariski open sets - and taking into account that cover sieves $S \in J(c)$ respect pullbacks than a presheaf is indeed a sheaf if $F(X)$ in
$$F(X)\rightarrow \prod _{{\alpha \in A}}F(X_{\alpha }){{{} \atop \longrightarrow } \atop {\longrightarrow \atop {}}}\prod _{{\alpha ,\beta \in A}}F(X_{\alpha }\times _{X}X_{\beta })$$
is an equalizer. This definition seems ok.
But in this excerpt there is presented another characterisation for beeing a sheaf: namely if the natural trafo
$$Hom(Hom(−, X), F) \to Hom(S, F)$$
is a bijection for all covering sieves $S$ over $X$.
The question is why is this characterisation equivalent to the exactness / equalizer condition of the diagram above? I don't see why this bijection property settles the sheaf axiom.
Let $S$ be the sieve generated by maps $f_\alpha:X_\alpha\to X$ indexed by $\alpha\in A$ for some indexing set $A.$ This means $S$ is the class of maps $f:Y\to X$ factoring as $f=f_\alpha g$ for some $\alpha$ and some $g:X\to X_\alpha.$
Your first condition says that elements of $F(X)$ correspond bijectively to a choice of $s_{f_\alpha}\in F(X_\alpha)$ for each $\alpha\in A$ satisfying $$F(\pi_1)(s_\alpha)=F(\pi_2)(s_{f_\beta})\tag{C1}$$ where $\pi_1,\pi_2$ are the projection maps for the pullback of $f_\alpha$ and $f_\beta$ (i.e. $X_\alpha\times_X X_\beta$). Your second condition says that elements of $F(X)$ correspond bijectively to a choice of $s_f\in F(\mathrm{dom}(f))$ for each $f\in S,$ satisfying $$s_{fg}=F(g)(s_f).\tag{C2}$$ That is: an element $s\in\mathrm{Hom}(S,F)$ is a choice of $s_f\in F(Y)$ for each $f:Y\to X$ in $S,$ such that for all $g:Y\to Y'$ and $f:Y'\to X,$ we have C2.
Clearly C2 implies C1. Now observe that a tuple $(s_{f_\alpha})_{\alpha\in A}$ determines $s$ - each $f$ factors as $f=f_\alpha g$ for some $\alpha,g,$ and this determines $s_f$ by the condition (C2). And an arbitrary tuple $(s_{f_\alpha})_{\alpha\in A}$ extends to a functor $s\in\mathrm{Hom}(S,F)$ if and only if (C2) does not lead to a contradiction. i.e. $F(g)(s_\alpha)=F(g')(s_{f_\beta})$ whenever $f_\alpha g=f_\beta g'.$ If $C$ has finite limits this can be simplified to (C1).