MathOverflow will be down for maintenance for approximately 3 hours, starting Monday evening (06/24/2013) at approximately 9:00 PM Eastern time (UTC-4).

## Assumptions on the category C for sheafification of C-valued presheaves

For any category C and topological space X we have the notion of a C-valued presheaf on X.

What assumptions must be made about C in order that we have the notion of such a presheaf being a 'sheaf'? I understand the definition of the sheaf properties using an equalizer diagram which assumes C has products and a final object. Is this definition 'standard'?

Secondly, the definition of a sheafification of a presheaf in terms of the obvious universal property makes sense for any category C (for which the notion of sheaf makes sense). But what assumptions must be placed on C in order for such a sheafification to exist? For presheafs of sets I know the construction via the étale space of the presheaf (namely, the sheafification can be constructed as the sheaf of sections of the projection E->X of the etale space E onto X). This construction works in general right?

-

A presheaf $F$ with values in $C$ is a called a sheaf if, for every object $X$ and every covering sieve $R$ of $X$, the natural maps

$F(X) \rightarrow F(Y)$

for each Y in R induce an isomorphism

$F(X) \xrightarrow{\sim} \varprojlim_{Y \in R} F(Y)$

This definition makes sense without any assumptions on $C$.

The sheafification construction makes use of filtered colimits and essentially arbitrary limits (if you are interested in sheaves on a particular topology then you might be able to restrict the class of limits that need to be considered). It is defined by iterating the construction

$F^+(X) = \varinjlim_{R} \varprojlim_{Y \in R} F(Y)$

where the $\varinjlim$ is taken over covering sieves of $X$. If $F$ is set-valued, the associated sheaf of $F$ is $F^{++}$.

I don't know what conditions on $C$ are necessary to make the sheafification of a presheaf in $C$ a sheaf, but I wouldn't expect the construction to behave very well unless $C$ is a fairly special category.

(Categories of algebraic structures on sets defined by finite inverse limits would qualify as "special", essentially because filtered colimits commute with finite inverse limits.)

-

To answer the first question provided one has, as you say, (small) products and equalizers the notion of sheaf makes sense as one has the right diagram corresponding to any cover. But we can just say that $C$ is complete since a category is complete iff it has all products and equalizers.

For the sheafification to exist it is sufficient that $C$ also be cocomplete so that one can take colimits over suitable categories of covering sieves. This comes up in the construction usually denoted by $(-)^+$ which applied twice to a presheaf results in a sheaf.

-

To answer your last question, "This construction works in general right?", the answer is no. The espace etale construction of sheafification heavily relies on the existence of "elements" in the objects of your category C (because its stalks are defined via germs which are defined via equivalence classes of elements), so basically it only works for concrete categories, and only certain concrete categories at that.

For a more general construction of sheafification, see the other answers.

-

Let PS(X,B) denote the category of presheaves on the category with values in category B. We denote by Sh((X,SX),B) the category of sheaves on the topos (CX,SX)(CX is category representing X and SX is pretopology). The assumption for category B is that

B has filtered colimits which commutes with kernels of pairs of arrows. Let HX denote the endofunctor of PS(X,B) which assigns to every presheaf F: CX^op--->B of the presheaf HX(F) defined by HX(F)(N)=colim(Ker(F(M)-->-->F(M product M over N))),where N and M are objects of CX where colimit is taken over Cov(N,t):(Cover of M, t is determined by SX mentioned above). We can easily check that Cov(N,t) is a filtered category. So the colimits we need is filtered colimits.

We can also easily check that F(N)--->HX(F)(N) is a functor for each N belongs to ObCX

i.e. it defines a functor morphism F|--->HX(F)

This functor HX is called Heller functor. It is routine to check HX is left exact. with following property 1 Functor HX maps any presheaf to monopresheaf and maps any monopresheaf to sheaf. So sheafification functor is just HX compose HX.

-

There is also this paper by Gray: Category-valued sheaves, BAMS 68, (1962),