Author Archive


OK, this will be another quick one.

We want to introduce the notion of a Grothendieck topology on a category \mathsf{C}.
The goal of this very general notion is to be able to speak about sheaves on \mathsf{C}. Let’s recall a few things.

Let’s fix a topological space X.

A presheaf \mathscr{F} on X is the data of a set \mathscr{F}(U) for each open subset U \subseteq X, together with a map of sets \mathscr{F}(U) \to \mathscr{F}(V) for all inclusions V \subseteq U (called restrictions), satisfying the obvious compatibilities.

Explicitly the compatibilities are as follows: given inclusions W \subseteq V \subseteq U then we have two maps \mathscr{F}(U) \to \mathscr{F}(V) \to \mathscr{F}(W) and \mathscr{F}(U) \to \mathscr{F}(W) (the latter coming from the inclusion W \subseteq U) and we ask they be the same. Elements s \in \mathscr{F}(U) are called sections of \mathscr{F} over U. We denote s|V the image of s in \mathscr{F}(V), under the appropriate restriction map.

There is a more compact way to describe what a presheaf is. Define the category \mathsf{Op}X whose objects are the open subsets of X and where the hom-set between V and U is empty if V \nsubseteq U and is a singleton if V \subseteq U.

A presheaf on X is just a contravariant functor from \mathsf{Op}X to \mathsf{Set}

We can see that in this definition the topology of X hasn’t really played a huge role. It does play a role in the definition of a sheaf. Essentially, a sheaf is a presheaf where global data is glued from local data. That is, if \{U_i\} is an open cover of U, then \mathscr{F}(U) is obtained by gluing the \mathscr{F}(U_i). More precisely:

A presheaf is separated if given two sections s,t \in \mathscr{F}(U) and a covering \{U_i\} of U such that s|U_i = t|U_i for all i, then s=t.

A presheaf satisfies gluing if given a collection of sections s_i \in \mathscr{F}(U_i) such that s_i|U_i \cap U_j = s_j | U_j \cap U_i then there exists a section s over U such that s|U_i = s_i.

Examples of sheaves and presheaves abound in nature. For example we have a sheaf of continuous functions from X to the real numbers, or smooth functions if X is a smooth manifold (or holomorphic if X is complex). An example of presheaf which is not always a sheaf is the presheaf of bounded functions from a topological space X into the real numbers. This presheaf is separated but doesn’t satisfy gluing in general.

Again there is a more compact way to state when a presheaf is a sheaf.
Again let \mathscr{F} be a presheaf, U be an open subset of X and U_i a covering of U.
We have a map from \mathscr{F}(U) \to \prod_i\mathscr{F}(U_i) sending a section s to the sequence of restrictions (s|U_i)_i.
We also have another two maps \prod_i\mathscr{F}(U_i) \rightrightarrows \prod_{j,k}\mathscr{F}(U_{ij}) (where U_{ij} = U_i \cap U_j) defined by restricting on the first and second component respectively.

A presheaf is a sheaf if, in the above context, the following sequence is exact \mathscr{F}(U) \to \prod_i\mathscr{F}(U_i) \rightrightarrows \prod_{j,k} \mathscr{F}(U_{ij})

(that is, the guy on the left is the equaliser of the guys on the right)

What should transpire by the discussion above is that if we are only interested in sheaves on X, we only need to know about coverings of X. This idea is the key to generalise topologies to arbitrary categories.

Given an object U of a category C, a topology on C will tell us that some collections of arrows \{U_i \to U\} are coverings of U.
Before we give the exact definition we should think of what should one use to replace intersections.

If U_i,U_j \subseteq U then it is trivial to see that U_{ij} is the fibre product of U_i and U_j over U. This is the correct replacement for the notion of intersection.

A Grohendieck topology on a category C is a collection Cov U of coverings for each object U, satisfying some axioms. That is, Cov U is a collection of families of morphisms \{U_i \to U\} which the topology declares to be coverings. The axioms they satisfy are as follows

  • \{id: U \to U\} \in Cov U, the family consisting of just the identity of U is a covering of U
  • If \{U_i \to U\} \in Cov U and \{ V^i_j \to U_i\} \in Cov U_i then \{V^i_j \to U_i \to U\} \in Cov U
  • If \{U_i \to U\} \in Cov U and V \to U is any morphism in C then \{U_i \times_U V \to V\} \in Cov V

The first axiom is saying the the covering consisting of the whole space is a covering; the second states that if you start with a covering of U and then cover each open of that covering with other open sets, then the latter forms a covering of U; the third axiom says that if you start from a covering of U and V is any open subset of U then we can restrict (i.e. intersect) to obtain a covering of V.

A site is a category endowed with a grothendieck topology.

Now we want to define sheaves on a site C. A presheaf will simply be a functor \mathscr{F}: \mathsf{C}^\circ \to \mathsf{Set}. A sheaf is a presheaf satisfying the exactness condition we’ve seen above, where now U varies through all objects of C and the collection \{U_i \to U\} varies through all coverings of U (wrt the topology of C).

Now, I’m sure that if you’ve never seen all this before, you’re quite confused. We’ve rushed a lot. So, we’ll rush even more by saying a few words about limits and colimits in the category \mathsf{Sh C} of sheaves (of sets) on a site C.
The Yoneda embedding \mathsf{C} \to \mathsf{PSh C} preserves limits, therefore things like fibre products remain intact when transported inside the category of presheaves.
Both limits and colimits in PSh C are computed pointwise. That is, a (co)limit (co)lim_i F_i is a presheaf, whose value at an object U is given by the corresponding (co)limit in Set: ((co)lim_i F_i)(U) = (co)lim_i (F_i(U)).
There is a forgetful functor ShC \to PSh C, which admits a left adjoint called sheafification. In our case, sheaves with values in Set, it’s easy to construct it (set-theoretic difficulties aside), no pun intended.
Hence limits in ShC are computed pointwise as well, and once again fibre products remain intact!
For colimits it’s a bit more complicated, but not tremendously so: the colimit of a diagram of sheaves will just be the sheafification of the colimit of the same diagram as presheaves. (someone please correct if I’m wrong!)

Anyways, this ought to be enough. Next time, we’ll finally have a look at some algebraic geometry.

(for the pedants, all categories above are assumed to have fibre products)


In the previous post we started with {\mathsf{C}} (the category of open subsets of {\mathbb{R}^n}‘s), embedded it inside {\mathsf{Top}} and formed topological manifolds via gluing. (not much of a surprise there…)

We mentioned that there is another way to enlarge {\mathsf{C}} using the Yoneda lemma. Let’s (briefly) see how.

Let’s start from the easiest case: take {X} to be a set. Pick any set with one element {\bullet}, in other words a final object in {\mathsf{Set}}.

We usually care more about when two objects, in a given category, are isomorphic than when they are actually equal. In {\mathsf{Set}} two objects are isomorphic if and only if they have the same cardinality. As the set

\displaystyle  h_X(\bullet) := Hom_{\mathsf{Set}}(\bullet,X),

of maps from the singleton {\bullet} to {X,} has the same cardinality of {X,} we can recover (up to isomorphism) {X} by considering the set {h_X(\bullet).} (the definition of {h_X} depends of course on the underlying category; being in this case {\mathsf{Set}})

Of course the same idea does not work for a general category. For example if we take a topological space {X \in \mathsf{Top},} then the set

\displaystyle  h_X(\bullet) = Hom_{\mathsf{Top}}(\bullet,X)

only recovers the underlying set of {X}, but completely forgets about its topology.

The incredibly brilliant idea is that, in order to recover {X} (as an object of {\mathsf{Top}}), one should consider all the sets

\displaystyle  h_X(Y) = Hom_{\mathsf{Top}}(Y,X)

at once, where {Y} varies over all topological spaces.

More precisely: start from a category {\mathsf{C}}, then any object {X \in \mathsf{C}} determines a functor

\displaystyle  h_X : \mathsf{C}^\circ \rightarrow \mathsf{Set}

(where {\circ} stands for opposite category), {h_X(Y) := Hom_{\mathsf{C}}(Y,X).}

Actually one can check that the assignment {X \mapsto h_X} determines a functor

\displaystyle  h : \mathsf{C} \rightarrow Fun(\mathsf{C}^\circ,\mathsf{Set}).

(where {Fun} stands for the category of functors)

  • Theorem (The Yoneda Lemma) The functor {h} above is fully faithful.

    Actually we have a sharper result.

  • Theorem Let {P} be any object of {Fun(\mathsf{C}^\circ,\mathsf{Set}),} and let {X} be any object in {\mathsf{C}.} Then
    \displaystyle  Hom(h_X,P) \simeq P(X).

    We therefore have our desired result: any category {\mathsf{C}} can be embedded into {Fun(\mathsf{C}^\circ,\mathsf{Set}).}

    From now on we shall adopt the following notation

    \displaystyle  PSh\mathsf{C}:= Fun(\mathsf{C}^\circ,\mathsf{Set})

    (presheaves on {\mathsf{C}}), which shall be explained in the next post.

    Our next task is to come up with a gluing operation inside {PSh\mathsf{C},} which will lead to the definition of a subcategory {Sh\mathsf{C}} (sheaves on {\mathsf{C}}). But for that we need to know what a site is.

  • pre-Nobuo

    Hi, we’re going to try and get things running around here.

    Our objective is to have a glance at what algebraic geometry might look like if investigated using the functor-of-points approach. Essentially I’ll be trying to understand part of these notes.

    Before getting all technical, let’s roughly outline our approach. The general idea is as follows: we want to start from a ‘simple’ category \mathsf{C} and end with an ‘interesting’ category \widetilde{\mathsf{C}}. More precisely: start from a category \mathsf{C}; enlarge it to a category \hat{\mathsf{C}}; identify a subcategory of nice objects \widetilde{\mathsf{C}}, yielding inclusions

    \displaystyle  \mathsf{C} \subseteq \widetilde{\mathsf{C}} \subseteq \hat{\mathsf{C}}.

    To understand what we are trying to do, let’s have a look at topological manifolds.

    • Definition: A topological space {X} is a manifold if it admits an open cover consisting of subsets homeomorphic to open subsets of {\mathbb{R}^n} (where we let n vary).

    With this broad definition a manifold is simply the glueing of some open subsets of {{\mathbb R}^n} (along other open subsets). This can be made (categorically) more precise.
    Let’s call {\mathsf{C}} the category whose objects are open subsets of Euclidean spaces {\mathbb{R}^n} (with {n} variable), and whose morphisms are continuous maps. Given a manifold {X,} let’s pick an open cover \{U_i\}, where U_i \in \mathsf{C}, and denote the intersections {U_i \cap U_j} by U_{ij}. Then {X} is actually the colimit of the diagram

    \displaystyle  \coprod_{i,j} U_{ij} \rightrightarrows \coprod_k U_k.

    (To be pedantic we should have said that each {U_i} is homeomorphic to an object in {\mathsf{C}})
    This colimit thing is just a fancy way of saying that maps

    \displaystyle  f: X \rightarrow Y,

    from {X} into a toplogical space {Y,} are in bijective correspondence with collections of maps

    \displaystyle  \{f_i: U_i \rightarrow Y \}

    such that restrictions coincide

    \displaystyle  f_i\vert U_{ij} = f_j\vert U_{ji}.

    This colimit fact suggests that to define the category of manifolds we only need {\mathsf{C},} and a glueing process.

    Now the colimit above was taken in {\mathsf{Top},} so the glueing process took place outside of {\mathsf{C}.} (when discussing affine schemes, the algebraic analogue of {\mathsf{C},} we shall see that trying to glue without enlarging the category yields the wrong answer)

    So again, we started with {\mathsf{C}}, enlarged it (enormously) to {\mathsf{Top}}, and then selected the objects which could be obtained by glueing: i.e. manifolds.

    The same thing is done in algebraic geometry: one starts with {\mathsf{Aff},} the category affine schemes (or commutative rings if you prefer); enlarges it to {\mathsf{Esp},} the category of locally ringed spaces; and finally one singles out {\mathsf{Sch},} the category of schemes.

    Of course one might find other (equivalent) ways to enlarge our category {\mathsf{C}}, and thus other ways of performing the glueing. One of these ways uses the Yoneda lemma (or functor of points).