The first time I got in touch with the abstract notion of a sheaf on a topological space $X$, I thought of it as something which assigns to an open set $U$ of $X$ something like the ring of continuous functions $\hom(U,\mathbb{R})$. People said that sections of a sheaf $F$, i.e. elements of $F(?)$, are something which allow 'glueing' like in the example: if two functions $f:U\to\mathbb{R}$ and $g:V\to\mathbb{R}$ coincide on the intersection $U\cap V$ there is an unique function $U\cup V\to\mathbb{R}$ restricting to $f$ and $g$. So a sheaf consists of 'glueable' objects.

A presheaf, say of rings, on a topological space $X$ is a functor $F:Op(X)^{op}\to Rng$ where $Op(X)$ denotes the category of open sets of $X$. One may generalize all this using the terms 'site' and 'topos' but let's consider this easy situation. A sheaf is a presheaf fulfilling an extra condition, so there is an inclusion of categories
$$
  Pre(X)\leftarrow Shv(X):i.
$$
Please excuse the awful notation but this inclusion functor admits a left-adjoint, the sheafification functor
$$
f:Pre(X)\leftrightarrow Shv(X):i.
$$

Since I got in touch with schemes, I think of a presheaf or a sheaf as of a space. There is a notation of a 'stalk' $F_x\in Rng$ at a point $x$ of $X$. I think of a stalk as the point $x$ of the space $F$. The inclusion functor and the sheafification functor both respect the stalks.

For example the sheafification of a constant presheaf is a locally constant sheaf.

My first question is:


  How shoud I really think about sheafification?


A presheaf of sets is the canonical co-completion of a category: You take a (small) category $S$ which does not allow glueing (=has not all colimits) and then $Pre(S)$ has all colimits. $S$ is fully and faithfully embedded into $Pre(S)$ with the Yoneda embedding $Y:S\to Pre(S)$. This functor does not respect colimits, so, loosely speaking, the way of glueing is not respected in this transition. Maybe, considering sheaves instead of presheaves is a way of repairing this failure.

My second question is:


  With respect to the interpretation above, what really makes the difference between a presheaf and a sheaf and how should I visualize that difference, if I think of a presheaf as if it is a space?


Thank you.

There are two ways a presheaf can fail to be a sheaf.


It has local sections that should patch together to give a global section, but don't,
It has non-zero sections which are locally zero.


When dividing the problems into two classes, it is easy to see what sheafifying does.  It adds the missing sections from the first problem, and it throws away the extra sections from the second problem.

The latter kind of sections tend to be easier to notice, but are less common.  Usually, when a construction or functor must be sheafified, it has local sections that should patch together but don't.  

A simple example of a presheaf with this property is the presheaf $F_{p=q}$ of continuous functions on the circle $S^1$ which have the same value at two distinct points $p,q\in S^1$.  When I restrict to an open neighborhood of $p$ that doesn't have $q$, the condition on their values goes away.  Because the same thing is true for open neighborhoods of $q$ which don't contain $p$, the condition on the functions in this presheaf has no effect on sufficiently small open sets.  It follows that this presheaf is locally the same as the sheaf of continuous functions.  Therefore, for any function on $S^1$ which has different values on $p$ and $q$, I can restrict it to an open cover where each local section is in $F_{p=q}$, but this function is not in $F_{p=q}$.  This is why $F_{p=q}$ is not a sheaf.

When we sheafify, we just add in all these sections, to get the full sheaf of continuous functions.  This is clear, because any two sheaves which agree locally are the same (though, I mean that the local sections and local restriction maps agree).

This example really does come up in examples.  Consider the map $S^1\rightarrow \infty$, where $\infty$ is the topological space which is $S^1$ with $p$ and $q$ identified.  If I pull back the sheaf of functions on $\infty$ in the naive way, the resulting presheaf on $S^1$ is $F_{p=q}$.  To get a sheaf, we need to sheafify.
