Characterization of sheaves Let $X$ be a topological space, and denote by $O(X)$ the poset category of the open sets; it is known that a presheaf on $X$ amounts exactly to a contravariant functor $\mathcal F:O(X)\to \mathbf {Set}$.
If $U\subseteq X$ is an open set, and $\{U_i\}_{i\in I}$ is an open covering of $U$, trivially $U=\coprod_{i\in I}U_i$ in $O(X)$; but also, $U=\operatorname{colim}U_I$, where $U_I$ is (the  diagram underlying to)  the full subcategory of  $O(X)$ whose object set is the closure of $\{U_i\}_{i\in I}$ under arbitrary products. The axioms of a sheaf for $\mathcal F$ can be phrased as: $\mathcal F(U)$ has the universal  property
of $\operatorname{lim}(\mathcal F(U_I))$, setting the restriction maps from $\mathcal F(U)$ to the objects  of $U_I$ as the canonical  maps of the limit, for every $U$ and every choice of a covering $\{U_i\}_{i\in I}$. Indeed the  axioms are equivalent to: $\mathcal F(U)$ has the universal  property of the limit over the diagram whose objects are all the sets $\{\mathcal F(U_i\cap U_j)\}_{i,j\in I}$, and whose maps are  the restriction maps between them, the canonical maps being the restriction maps. Note that $\mathcal F(U)$ has also the universal property of $\operatorname{lim}(\mathcal F(U_I))$, as  any object $A$ of $\mathcal F(U_I)$ is the codomain of a restriction map $r:\mathcal F(U_{i_0}\cap U_{j_0})\to A$, for some $i_0,j_0\in I$; so one can construct the canonical map $\mathcal F(U)\to A$ by composing the restriction map  $\mathcal F(U)\to \mathcal F(U_{i_0}\cap U_{j_0})$ with $r$. This proves that the usual axioms of sheaf imply the condition in italics, but the converse should be easier.
Hence, one can characterize the sheaves on $X$ as the contravariant functors $O(X)\to\mathbf{Set}$ that send the colimits to limits, but only when the colimit is taken over (a diagram underlying to) a full subcategory whose object set is closed under products. Do you agree with this description? I read something in this context in some lectures that I found, honestly I don't understand if they were saying precisely this. Thank you
 A: Note that for $U_{ij} := U_i \cap U_j$, the inclusion of the diagram $\coprod\limits_{i,j} U_{ij} \rightrightarrows \coprod\limits_{i} U_i$ in $U_I$ (with coproducts) is a final functor, so $\coprod\limits_{i,j} U_{ij} \rightrightarrows \coprod\limits_{i} U_i \to U$ is a coequalizer (which is obvious anyway). Now, since the property of a sheaf requires precisely that $\prod\limits_{i,j} F(U_{ij}) \leftleftarrows \prod\limits_{i} F(U_i) \leftarrow F(U)$ be an equalizer, what you say is true.
This is a useful perspective. For example, moving one step further and adding $U_{ijk}$ yields a slick definition of a stack - a "$2$-categorical sheaf". (And moving one step down gives the definition of a "$0$-sheaf", which happens to be just a presheaf (of propositions).)
Another way to view this is to note that since $F(V)$ is the same as a map from the represented functor $yV \to F$, the diagram above is the same as a cone on $\coprod\limits_{i,j} yU_{ij} \rightrightarrows \coprod\limits_{i} yU_i \to yU$ with the apex $F$. Thus you can read the sheaf condition as: for any $F,$ given a map $\coprod\limits_{i,j} yU_{ij} \rightrightarrows \coprod\limits_{i} yU_i$, there is a
unique map $yU \to F$ making the whole diagram commute. Thus, the Yoneda embedding $y: C \to Pre(C)$ sends these colimits in $O(X)$ (any category, really) to colimits in the category of sheaves. The embedding $y$ can be regarded as "freely adding colimits" to $C$, and passing to sheaves is then "forcing cones $\coprod\limits_{i,j} U_{ij} \rightrightarrows \coprod\limits_{i} U_i$ to become colimits" (note that a priori $y$ does not preserve colimits).
