More Category Theory: The Grothendieck Topos

In Category Theory, we generalized the notion of a presheaf (see Presheaves) to denote a contravariant functor from a category \mathbf{C} to sets. In this post, we do the same to sheaves (see Sheaves).

We note that the notion of an open covering was necessary in order to define the concept of a sheaf, since this was what allowed us to “patch together” the sections of the presheaf over the open subsets of a topological space. So before we can generalize sheaves we must first generalize open coverings and other concepts associated to it, such as intersections.

product, which is a diagram of objects P, X, Y, and morphisms p_{1}: P\rightarrow X and p_{2}: P\rightarrow Y, and if there is another object Q and morphisms q_{1}: Q\rightarrow X and q_{2}: Q\rightarrow Y, then there is a unique morphism u from Q to P such that p_{1}\circ u=q_{1} and p_{2}\circ u=q_{2}. The object P is often also referred to as the product and written X\times Y.

A related notion is that of a  pullback (also called a fiber product) is a diagram of objects P, X, Y, and Z, and morphisms p_{1}: P\rightarrow X, p_{2}: P\rightarrow Y, f: X\rightarrow Z, and g: Y\rightarrow Z, such that f\circ p_{1}=g\circ p_{2}, and if there is another object Q and morphisms q_{1}: Q\rightarrow X and q_{2}: Q\rightarrow Y with f\circ q_{1}=g\circ q_{2}, then there is a unique morphism u from Q to P such that p_{1}\circ u=q_{1} and p_{2}\circ u=q_{2}. The object P is often also referred to as the fibered product and written X\times_{Z}Y.

Another related concept is that of a terminal object. A terminal object T in a category \mathbf{C} is just an object such that for every other object C in \mathbf{C} there is a unique morphism C\rightarrow T.

Finally, we give the definition of an equalizer. We will need this notion when we construct sheaves on our generalization of the open covering of a topological space. An equalizer is a diagram of objects E, X, Y and morphisms eq: E\rightarrow X, f: X\rightarrow Y, and g: X\rightarrow Y, such that f\circ eq=g\circ eq and if there is another object O and morphism m: O\rightarrow X such that f\circ m=g\circ m, there is a unique morphism u: O\rightarrow E such that eq\circ u=m.

By simply reversing the directions of the morphisms on these definitions, we obtain the “dual” notions of coproductpushout (also called fiber coproduct), initial object, and coequalizer.

The objects that we have defined above are called universal constructions and are subsumed under the more general concepts of limits and colimits. These universal constructions are unique up to unique isomorphism (An isomorphism in a category \mathbf{C} is a morphism f: C\rightarrow D in \mathbf{C} for which there exists a necessarily unique morphism g: D\rightarrow C in \mathbf{C}, called the inverse of f, such that f\circ g=1_{\mathbf{D}} and g\circ f=1_{\mathbf{C}}).

These universal constructions are generalizations of familiar concepts. For example, the product in the category of sets corresponds to the cartesian product, while its dual, the coproduct, corresponds to the disjoint union. The terminal object in the category of sets is any set composed of a single element, since every other set has only one function to it, while its dual, the initial object, is the empty set, which has only one function to every other set.

We now proceed with our generalization of an open covering. Let \mathbf{C} be a category and C an object of \mathbf{C}. A sieve S on C is given by a family of morphisms on \mathbf{C}, all with codomain C, such that whenever a morphism f is in S, it is guaranteed that the composition g\circ f is also in S for all morphisms g for which the composition g\circ f makes sense.

If S is a sieve on C and h: D\rightarrow C is any morphism with codomain C, then we denote by h^{*}(S) the family of morphisms g with codomain D such that the composition h\circ g is in S. h^{*}(S) is a sieve on D.

 We now quote from the book Sheaves in Geometry and Logic: A First Introduction to Topos Theory by Saunders Mac Lane and Ieke Moerdijk the axioms for a Grothendieck topology.

A (Grothendieck) topology on a category \mathbf{C} is a function J which assigns to each object C of \mathbf{C} a collection J(C) of sieves on C, in such a way that

(i) the maximal sieve t_{C}=\{f|\text{cod}(f) =C\} is in J(C);

(ii) (stability axiom) if S\in J(C) , then h^{*}(S)\in J(D) for any arrow h: D\rightarrow C;

(iii) (transitivity axiom) if S\in J(C) and R is any sieve on C such that h^{*} (R)\in J(D) for all h: D\rightarrow C in S, then R\in  J(C).

The intuitions behind these axioms might perhaps best be seen by considering a category whose objects are open sets and whose morphisms are inclusions of these open sets. Axiom (i) essentially says that the open set C is covered by the collection of all its open subsets. Axiom (ii) says that the open subset D of C is covered by the intersections D\cap C_{i} of D with the open subsets C_{i} covering C. Axiom (iii) says that if a collection D_{i,j} of open subsets covers every open subset C_{j} covering C, then the collection D_{i,j} covers C.

We then quote from the same book the definition of a site:

A site will mean a pair (\mathbf{C}, J) consisting of a small category \mathbf{C} and a Grothendieck topology J on \mathbf{C}. If S\in J(C),  one says that S is a covering sieve, or that S covers C (or if necessary, that S J-covers C).

(The book uses the terminology of a small category to specify that the objects and morphisms of the category form a set, instead of a proper class. The terminology of sets and classes was developed to prevent what is known as “Russell’s paradox” and its variants. In many of the posts on this blog we will not need to explicitly specify whether a category is a small category or not.)

We already know how to construct a presheaf on \mathbf{C}; a presheaf is just a contravariant functor from \mathbf{C} to \mathbf{Sets}. Now we just need to generalize the conditions for a presheaf to become a sheaf.

We go back to the conditions that make a (classical) presheaf a sheaf. They can be summarized in the language of category theory by saying that

\displaystyle e:\mathcal{F}(U)\longrightarrow \prod_{i}\mathcal{F}(U_{i})

is the equalizer of

\displaystyle p: \prod_{i}\mathcal{F}(U_{i})\longrightarrow\prod_{i,j}\mathcal{F}(U_{i}\cap U_{j})


\displaystyle q: \prod_{i}\mathcal{F}(U_{i})\longrightarrow\prod_{i,j}\mathcal{F}(U_{i}\cap U_{j})

where for s\in \mathcal{F}(U), e(s)=\{s|_{U_{i}}|i\in I\} and for a family s_{i}\in \mathcal{F}(U_{i}),

p\{s_{i}\}=\{t_{i}|_{U_{i}\cap U_{j}}\}, \quad q\{s_{i}\}=\{s_{i}|_{U_{i}\cap U_{j}}\}.

The analogous condition for a (generalized) presheaf P on a category \mathbf{C} equipped with a Grothendieck topology J is for

\displaystyle e: P(C)\longrightarrow\prod_{f\in S}P(\text{dom f})

to be an equalizer for

\displaystyle p: \prod_{f\in S}P(\text{dom f})\longrightarrow\prod_{f, g f\in S\ \text{dom }f=\text{cod }g}P(\text{dom g})


\displaystyle q: \prod_{f\in S}P(\text{dom f})\longrightarrow\prod_{f, g f\in S\ \text{dom }f=\text{cod }g}P(\text{dom g})

We now introduce the notion of equivalent categories. We first establish some more notation. The set of morphisms from an object C to C' in a category \mathbf{C} will be denoted by \text{Hom}_{\mathbf{C}}(C, C'). A functor F: \mathbf{C}\rightarrow \mathbf{D} is called full (respectively faithful) if for any two objects C and C' of \mathbf{C}, the operation

\text{Hom}_{\mathbf{C}}(C, C')\rightarrow \text{Hom}_{\mathbf{C}}(F(C), F(C'))\quad f\rightarrow F(f)

is surjective (respectively injective). A functor F: C\rightarrow D is called an equivalence of categories if it is full and faithful and if any object D in \mathbf{D} is isomorphic to an object F(C) in the image of F in \mathbf{D}.

We again refer to the book of Mac Lane and Moerdijk for the definition of a Grothendieck topos:

A Grothendieck topos is a category which is equivalent to the category \text{Sh}(\mathbf{C}, J) of sheaves on some site (\mathbf{C}, J).

A Grothendieck topos is often referred to in the literature as some sort of a “generalized space”. In everyday life we think of “space” as something that objects occupy. Or perhaps we may think of a “place” as something that we live in (the word “topos” itself is the Greek word for “place”). The concept of sheaves expresses the idea that when we look at the objects on portions of a space, they can be “patched together” (it seems rather surreal, even unthinkable, for objects in everyday life not to patch together properly).

We have expressed the notion of a topology as being some sort of “arrangement” on a set. A Grothendieck topology is also an arrangement, but instead of making use of the “parts” (subsets) of a set, it instead makes use of the “relations” or “interactions” between objects in a category.

So we can think of the idea of a topos, perhaps, as making a “place” for our objects of interest (such as sets, groups, rings, modules, etc.) to “live in”. This place has an “arrangement” that our objects of interest “respect”, analogous to how open coverings are used to express how objects are “patched together” to form a sheaf on a topological space. This point of view has already become fruitful in algebraic geometry, where the geometry is described in terms of the algebra; so for instance, the “points” of a “shape” correspond to the prime ideals of a ring (see Rings, Fields, and Ideals and More on Ideals), so they may not correspond with the idea of a space we are usually used to, where the points are described by coordinates which are real numbers.

The idea of making a “place” for mathematical objects to “live in” is abstract enough, however, to not be confined to any one branch of mathematics. Thus, the idea of a topos, sufficiently generalized, has found many applications in everything from logic to differential geometry.


Topos in Wikipedia

Sheaf on Wikipedia

Grothendieck Topology on Wikipedia

Sheaves in Geometry and Logic: A First Introduction to Topos Theory by Saunders Mac Lane and Ieke Moerdijk

Category Theory

In many of the previous posts on this blog, we have seen that whenever there is some special property on our sets, then there are special kinds of functions between these sets that in some way “respect” this special property. For example, for topological spaces (see Basics of Topology and Continuous Functions), there are special kinds of functions called continuous functions that in some way respect the topology. Similarly, for vector spaces and modules (see Vector Spaces, Modules, and Linear Algebra), there are special kinds of functions between them called linear transformations that respect the closure under addition and scalar multiplication.

For groups, we also have the concept of a homomorphism (not to be confused with the concept of a homeomorphism in topology), which is a function f between groups such that whenever ab=c in the domain it is guaranteed that f(a)f(b)=f(c) in the range. A homomorphism is therefore a function between groups that respects the law of composition of the groups.

We now introduce in this post a kind of “language” that expresses these ideas in a neat way, with a mechanism that allows us to relate two different kinds of these special sets; this is useful, for example in algebraic topology, where we study topological spaces using groups. Information about topological spaces are reflected as information about groups.

In Homotopy Theory, we learned about the fundamental group of a space, formed by looking at loops starting and ending at a chosen basepoint, and identifying loops that can be deformed into one another under an equivalence relation. For a circle, the fundamental group is the abelian group of integers under addition, which intuitively corresponds to the number of times a loop winds around the circle taking into account the direction (clockwise or counterclockwise).

We now consider a torus. We can think of a torus as being constructed by “gluing” circles to every point of some other “base” circle. We can refer to these circles that are being glued to the “base” circle as the “fiber” circles. Thus the points of the torus can be specified by giving a pair of numbers, one referring to a coordinate of a point of the “base” circle, and the other a coordinate of a point of the “fiber” circle at that point on the base. More formally, we refer to the torus T^{2} as the Cartesian product S^{1}\times S^{1} of two circles.

The fundamental group of the torus is given by the set of ordered pairs of integers, one corresponding to the number of times a loop winds around the “body” of the torus, and the other corresponding to the number of times this same loop winds around the “hole” of the torus, once again taking into account the direction. The pair of integers can then be given a group structure by addition “componentwise”. This group of pairs of integers is an example of a direct product of groups and is written \mathbb{Z}\times \mathbb{Z} (Since the groups involved are all abelian, this is also sometimes referred to as an example of a direct sum and written \mathbb{Z}\oplus \mathbb{Z}).

That the torus is a Cartesian product of two circles and its fundamental group is a direct product of two copies of the fundamental groups of the circle is an example of how information about topological spaces is reflected as information about groups.

We now introduce the language of category theory. We quote from the book Sheaves in Geometry and Logic: A First Introduction to Topos Theory by Saunders Mac Lane and Ieke Moerdijk:

A category \mathbf{C} consists of a collection of objects (often denoted by capital letters, A, B, C, ..., X, ...) a collection of morphisms (or maps or arrows) (f, g, ...), and four operations; two of the operations associate with each morphism f of \mathbf{C} its domain \text{dom}(f) or \text{d}_{0}(f) and its codomain  \text{cod}(f) or \text{d}_{1}(f), respectively, both of which are objects of \mathbf{C}. One writes f: C\rightarrow D or f: C\xrightarrow{f} D to indicate that f is a morphism on \mathbf{C} with domain C and codomain D, and one says that f is a morphism from C to D. The other two operations are an operation which associates with an object C of \mathbf{C} a morphism 1_{C} (or \text{id}_{C}) called the identity morphism of C and an operation of composition which associates to any pair (f,g) of \mathbf{C} such that \text{d}_{0}(f)=\text{d}_{1}(f) another morphism f\circ g, their composite. These operations are required to satisfy the following axioms.

(i) \text{d}_{0}(1_{C})=C=\text{d}_{1}(1_{C})

(ii) \text{d}_{0}(f\circ g)=\text{d}_{0}(g), \text{d}_{1}(f\circ g)=\text{d}_{1}(f),

(iii) 1_{D}\circ f=f, f\circ 1_{D}=f,

(iv) (f\circ g)\circ h=f\circ (g\circ h)

In (ii)-(iv), we assume that the compositions make sense; thus (ii) is required to hold for any pair of arrows f and g with \text{d}_{0}(f)=\text{d}_{1}(g), and (iii) is required to hold for any two objects C and D of \mathbf{C} and any morphism f from C to D, etc.

Many of the concepts we have already discussed form categories. We have, for example the categories

\mathbf{Sets}, where the objects are sets and the morphisms are functions,

\mathbf{Top}, where the objects are topological spaces and the morphisms are continuous functions,

\mathbf{Top_{*}}, where the objects are topological spaces with selected points, one for each space, called basepoints and the morphisms are continuous functions that take basepoints to basepoints,

\mathbf{Vct_{K}}, where the objects are vector spaces with field of scalars K and the morphisms are linear transformations,

\mathbf{R-Mod}, where the objects are modules with ring of scalars R and the morphisms are linear transformations, and

\mathbf{Grp}, where the objects are groups and the morphisms are homomorphisms.

Note that sometimes the notation for these categories varies depending on the author.

We now introduce the concept of a functor. From the same book as above,

Given two categories \mathbf{C} and \mathbf{D}, a functor from \mathbf{C} to \mathbf{D} is an operation F which assigns to each object C of \mathbf{C} an object F(C) of \mathbf{D}, and to each morphism f of {C} a morphism F(f) of \mathbf{D}, in such a way that F respects the domain and codomain as well as the identities and the composition: F(\text{d}_{0}(f))=\text{d}_{0}(F(f))F(\text{d}_{1}(f))=\text{d}_{1}(F(f))F(1_{C})=1_{F(C)}, and F((f\circ g))=F(f)\circ F(g), whenever this makes sense.

We have already discussed an example of a functor, namely the functor from the category \mathbf{Top_{*}} to the category \mathbf{Grp} which assigns to a topological space with a basepoint its fundamental group, and to basepoint-preserving continuous functions (continuous functions that take basepoint to basepoint) between these topological spaces homomorphisms between their fundamental groups.

In physics the concept of categories and functors is also used in topological quantum field theory. Roughly, the idea is that in classical mechanics (including relativity) the physics is expressed in terms of manifolds (shapes that have no sharp edges) while in quantum mechanics the physics is expressed in terms of vector spaces. So topological quantum field theory studies functors from the category whose objects are manifolds and whose morphisms are cobordisms (a cobordism between two manifolds is a manifold existing one dimension higher whose boundary is made up of those two original manifolds – this is used to express the idea of one manifold transforming into the other, with the one extra dimension of the cobordism representing time) to the category of vector spaces.

Going back to category theory, we discuss some more important concepts. The opposite category \mathbf{C^{op}} of a category \mathbf{C} is the category whose objects are the same as that of \mathbf{C} but whose morphisms are in the opposite direction of the morphisms of \mathbf{C}. A contravariant functor from  \mathbf{C} to \mathbf{D} is just a functor from  \mathbf{C^{op}} to \mathbf{D}.

We recall from our discussion in Presheaves that the classical notion of a presheaf on a topological space X is given by a set \mathcal{F}(U) (sometimes with the extra structure of groups, rings, or modules) for every open subset U of X and functions called restriction maps \rho_{UV}: \mathcal{F}(U)\rightarrow \mathcal{F}(V) for every inclusion of open subsets of X i: V\rightarrow U (we have written it this way instead of the more common V\subseteq U to make it look more symmetric) satisfying certain properties related to identity and composition. We now generalize this classical notion and simply define a presheaf on \mathbf{C} as just a contravariant functor from \mathbf{C} to \mathbf{Sets}.

We introduce one more concept in category theory, that of a natural transformation between functors. Quoting once more from the book of Mac Lane and Moerdijk,

Let F and G be two functors from a category \mathbf{C} to a category \mathbf{D}. A natural transformation \alpha from F to G, written \alpha: F\rightarrow G, is an operation associating with each object C of \mathbf{C} a morphism \alpha_{C}:FC\rightarrow GC of \mathbf{D}, in such a way that, for any morphism f: C'\rightarrow C in \mathbf{C}, G(f)\circ \alpha_{C'}=\alpha_{C}\circ F(f). The morphism \alpha_{C} is called the component of \alpha at C.

We have seen that a presheaf on \mathbf{C} is a contravariant functor from a category \mathbf{C} to the category of sets \mathbf{Sets} . We can now define the category of all presheaves on \mathbf{C}, written \mathbf{\hat{C}}, as the category whose objects are functors P: \mathbf{C^{op}}\rightarrow \mathbf{Sets} on \mathbf{C}, and whose morphisms are natural transformations \theta: P\rightarrow P' between such functors. \mathbf{\hat{C}} is an example of what is called a functor category, and in this context it is also sometimes written as \mathbf{Sets^{C^{op}}}.

We have now seen some basic constructions in category theory. There are many more. It can perhaps be said that in category theory the emphasis is on looking at the “relationships” or “interactions” between objects, as opposed to looking “inside” of these objects, as is the case with set theory. This allows us to make analogies between seemingly different objects, as what we have seen with topological spaces and groups. We end this post with a couple of quotes:

“Good mathematicians see analogies between theorems or theories. The very best ones see analogies between analogies.”

-Stefan Banach (as quoted by Stanislaw Ulam)

“If there is one thing in mathematics that fascinates me more than anything else (and doubtless always has), it is neither ‘number’ nor ‘size’, but always form.”

-Alexander Grothendieck


Category Theory on Wikipedia

Functor on Wikipedia

Natural Transformation on Wikipedia

Topological Quantum Field Theory on Wikipedia

Categories for the Working Mathematician by Saunders Mac Lane

Sheaves in Geometry and Logic: A First Introduction to Topos Theory by Saunders Mac Lane and Ieke Moerdijk


More on Vector Spaces and Modules

In this short post, we show a method of constructing new vector spaces (see Vector Spaces, Modules, and Linear Algebra) from old ones. But first we introduce some more definitions important to the study of vector spaces. We will refer to the elements of vector spaces as the familiar vectors. A basis of a vector space is a set of vectors v_{1}, v_{2},...,v_{n} such that any vector v in the vector space can be written uniquely as a linear combination


where c_{1}, c_{2},...,c_{n} are elements of the set of “scalars” of the vector space. The number of elements n of the basis is called the dimension of the vector space.

The tensor product V\otimes W is the quotient set of elements which are formal linear combinations of ordered pairs of vectors (v, w), where v\in V and v\in W under the following equivalence relations (see Modular Arithmetic and Quotient Sets)

(v_{1}, w)+(v_{2}, w)\sim (v_{1}+v_{2}, w)

(v, w_{1})+(v, w_{2})\sim (v, w_{1}+w_{2})

c(v, w)\sim (cv, w)

c(v, w)\sim (v, cw)

where c is a scalar.

The last two equivalence relations together also imply that:

(cv, w)\sim (v, cw)

Denoting the set of scalars by F, so that c\in F, we also sometimes write V\otimes_{F} W.

Tensor products also exist for modules. In physics, vector spaces provide us with the language we use to study quantum mechanics, and tensor products are important for expressing the phenomenon of quantum entanglement.

This post is quite a bit shorter than most of my previous ones and could perhaps be seen as just an addendum to Vector Spaces, Modules, and Linear Algebra. More on tensor products shall perhaps be discussed in future posts, including examples and applications.


Vector Space on Wikipedia

Tensor Product in Wikipedia

Quantum Entanglement on Wikipedia

Abstract Algebra by David S. Dummit and Richard M. Foote


In Presheaves, we discussed functions “living on” the open subsets of a topological space. In particular, we discussed an example of “opposite” or “contravariant” behavior of the sets of functions on the open subsets of a topological space. For an inclusion V\subseteq U of open subsets of a topological space X we had a function \rho_{UV}: \mathcal{F}(U)\rightarrow \mathcal{F}(V) between the sets of functions on these open subsets.

The topological space itself can be “built up” in some way from its open subsets (we will later clarify in what sense) and we now want to look at how we want the sets of functions on these open subsets to “patch together” to form the set of functions on the topological space. In other words, we want to use the “local” information that we have to obtain something “global”.

Now we want to show what we mean by “building up” the topological space from its open subsets. We quote here from the book Topology by James R. Munkres:

A collection \mathcal{A} of subsets of a space is said to cover X, or to be a covering of X, if the union of the elements of \mathcal{A} is equal to X. It is called an open covering of X if its elements are open subsets of X.

Now we quote from the book Algebraic Topology by Robin Hartshorne the conditions that make a presheaf a sheaf:

A presheaf \mathcal{F} on a topological space X is a sheaf if it satisifes the following supplementary conditions:

(3) if U is an open set, if \{V_{i}\} is an open covering of U, and if s\in\mathcal{F}(U) is an element such that s|_{V_{i}}=0 for all i, then s=0.

(4) if U is an open set, if \{V_{i}\} is an open covering of U, and if we have elements s\in\mathcal{F}(V_{i}) for each i, with the property that for each i,js_{i}|_{V_{i}\cap V_{j}}=s_{j}|_{V_{i}\cap V_{j}}, then there is an element s\in\mathcal{F}(U) such that s|_{V_{i}}=s_{i} for each i.

Note condition (3) implies that s is unique.

We recall our example in Presheaves. There we had as our topological space the complex plane \mathbb{C} equipped with the Zariski topology. We saw that the sets of functions of the form \frac{f}{g}, where f and g are polynomials (again all functions discussed in this post will be of this form), on the open subsets of \mathbb{C} form a presheaf. We will continue using this example to show what it means for a presheaf to be a sheaf.

Condition (3) above (the weird numbering convention is because the first two conditions are for presheaves, as was quoted in Presheaves) means that if we have a function which, when “restricted” to an open subset is 0 for all the open subsets whose union is \mathbb{C}, then this function is the function 0 on \mathbb{C}. For instance our open subsets might be \mathbb{C}-\{0\} and \mathbb{C}-\{1\}; their union is \mathbb{C}. Together they form an open covering of \mathbb{C}. For condition (3) to be satisfied, if a function on \mathbb{C} restricts to 0 on both \mathbb{C}-\{0\} and \mathbb{C}-\{1\}, then it must be the function 0 on \mathbb{C}.

Condition (4) above means that if we have two functions on two open subsets that restrict to the same function on the intersection of these two open subsets, and if this is true for all pairs of open subsets, then these functions are restrictions of a function on \mathbb{C}. We consider again \mathbb{C}-\{0\} and \mathbb{C}-\{1\}. We know that their union is \mathbb{C}; meanwhile their intersection is \mathbb{C}-\{0,1\}. For condition (4) to be satisfied, if we have functions on \mathbb{C}-\{0\} and \mathbb{C}-\{1\} which restrict to the same function on \mathbb{C}-\{0,1\}, then the functions on \mathbb{C}-\{0\} and \mathbb{C}-\{1\} must be the restrictions of a function on \mathbb{C}.

These functions that we have discussed are called regular functions on the open subsets of \mathbb{C}, and they do form a sheaf called the sheaf of regular functions on \mathbb{C}.

To see what makes a sheaf so special, it is perhaps more informative to look at an example of a presheaf which is not a sheaf. Let our topological space X be the set with two elements p and q, equipped with the discrete topology; in other words, every subset is declared to be an open set. There are only four of them, the entire set X=\{p,q\}, \{p\}, \{q\}, and the empty set \varnothing.

To construct a presheaf on X, we need to specify a set \mathcal{F}(U) for every open subset U of X and restriction maps \rho_{UV}:U\rightarrow V for every inclusion of open subsets V\subseteq Uof X.

We choose \mathcal{F}(U)=\mathbb{Z} for all open sets U of X except for the empty set, where we choose \mathcal{F}(\varnothing)=0. We choose identity functions from \mathbb{Z} to \mathbb{Z} for our restriction maps except for the restriction map to the empty set, where we choose instead the constant function that sends every element to 0. We now check to see if this presheaf forms a sheaf.

First, we must show that if we have a section s\in \mathcal{F}(X) which gets sent under the restriction maps to 0\in \mathcal{F}(\{p\}) and 0\in \mathcal{F}(\{q\}), then s=0\in \mathcal{F}(X). Our restriction maps are just identity functions, so it is only the section 0\in \mathcal{F}(X) which restricts to 0 on \mathcal{F}(\{p\}) and \mathcal{F}(\{q\}).

Second, we must show that if we have two sections over two open subsets of X which get sent by the restriction map to the same section over the intersection of the two open subsets, and this holds for all open subsets that make up an open covering of X, then these two sections must be restrictions of a section over X. Our presheaf does not satisfy this condition.

To see why, we consider \mathcal{F}(\{p\}) and \mathcal{F}(\{q\}). The intersection of \{p\} and \{q\} is the empty set \varnothing. The restriction map to \mathcal{F}(\varnothing) is always the constant function to the section 0\in \mathcal{F}(\varnothing), so any two sections, say m\in \mathcal{F}(\{p\}) and n\in \mathcal{F}(\{q\}), get sent to the same section 0\in \mathcal{F}(\varnothing).

Under the condition, these two sections must be restrictions of a section s\in \mathcal{F}(X). But the restriction map is the identity function; this means thats=m and s=n as integers. But we specified earlier that m and n could be any two sections of \mathcal{F}(\{p\}) and \mathcal{F}(\{q\}), so they could be different, m\neq n, and it would be impossible for them to be both be equal to s. In other words, they cannot both be restrictions of the same section s\in \mathcal{F}(X).

So now we see that our presheaf is not a sheaf. If, however, instead of setting \mathcal{F}(X)=\mathbb{Z}, we set \mathcal{F}(U)=\mathbb{Z}\oplus \mathbb{Z}, where \mathbb{Z}\oplus\mathbb{Z} is a group, whose underlying set is the set of pairs of integers, with the law of composition just addition on each “component”, i.e. (a, b)+(c, d)=(a+b, c+d), and the restriction maps to \mathcal{F}(\{p\}) and \mathcal{F}(\{q\}) (both still equal to \mathbb{Z}) the “projection maps” \pi_{1} and \pi_{2} from \mathbb{Z}\oplus\mathbb{Z} to \mathbb{Z} which send the pair (m,n)\in \mathbb{Z}\oplus\mathbb{Z} to m\in\mathbb{Z} and n\in\mathbb{Z} respectively, we can, in fact, obtain a sheaf, an example of what is called a constant sheaf.

The concept of a sheaf is essential to modern algebraic geometry, which studies, among other things, varieties, or shapes that can be described by polynomial equations, together with the functions that “live on” them, which likewise can usually be described in terms of polynomials. More on sheaves, including the particular examples we have introduced here, can be found in the references below.


Sheaf on Wikipedia

Constant Sheaf on Wikipedia

Algebraic Geometry by Andreas Gathmann

The Rising Sea: Foundations of Algebraic Geometry by Ravi Vakil

Algebraic Topology by Robin Hartshorne

Sheaves in Geometry and Logic: A First Introduction to Topos Theory by Saunders Mac Lane and Ieke Moerdijk

Topology by James R. Munkres


One of the themes that pervade mathematics is the study of sets and functions between sets. In previous posts we have seen some interesting things that we can do with sets; for instance we can put an “arrangement” or “organization” on them using the concept of a topology (see Basics of Topology and Continuous Functions), or we can define a law of composition on them (see Groups), so that we can say that they are closed under some kind of operation (see also Rings, Fields, and IdealsMore on Ideals, and Vector Spaces, Modules, and Linear Algebra).

We will now construct yet another interesting thing from sets. We will need two kinds; the first is a set equipped with a topology, or topological space; the other is either just an ordinary set, or equipped with a law of composition, either groups, or rings, or modules. Note that functions between sets also themselves form sets; we now use this to construct a motivating example for the concepts that we are about to introduce.

Consider the set of all complex numbers \mathbb{C} (also called the complex plane) equipped with the topology where we declare the closed sets to be the finite sets of complex numbers (which can be imagined as a finite number of points in the complex plane). The open sets are therefore the complements of these closed sets. This is a special case of what is called the Zariski topology.

Consider also the functions from the complex numbers to the complex numbers which are of the form \frac{f}{g} where f and g are polynomials (the functions we refer to in the rest of this post will be of this form). Examples of these functions are x, x+1, x^2, and so on. Consider now the function

\displaystyle \frac{1}{x}.

It is not actually a function from the complex numbers to the complex numbers. Why? Because it does not send the complex number 0 anywhere, and a function must send every element of its domain to some element in its range. But we can say that it is a function from the set of complex numbers except for the complex number 0, written \mathbb{C}-\{0\} or \mathbb{C}\backslash \{0\}, to the complex numbers. This set \mathbb{C}-\{0\} is of course a subset, and actually an open subset, of the set of all complex numbers \mathbb{C}.

For ease of notation, we keep the range of our functions fixed (in this case it is the complex numbers) and speak informally of functions “on”, or sometimes “living on” their respective domains.

Although \mathbb{C}-\{0\} is “smaller” than \mathbb{C}, there are actually more functions on \mathbb{C}-\{0\} than on \mathbb{C}. Aside from \frac{1}{x}, we also have \frac{1}{x^2}, \frac{1}{x^3}, and all other functions whose denominator otherwise would have been 0 on the complex number 0 and nowhere else on the complex plane \mathbb{C}. If we take an even “smaller” open subset of \mathbb{C}, such as \mathbb{C}-\{0,1\}, we will obtain even more functions on this open subset, such as \frac{1}{x-1} and \frac{1}{x^{2}-x}.

At the same time, for every function f on \mathbb{C} there is also a corresponding function f|_{\mathbb{C}-\{0\}} on the open subset \mathbb{C}-\{0\} which assigns to every element of \mathbb{C}-\{0\} the same element that the function f on \mathbb{C} assigns to every element of \mathbb{C}-\{0\}. Technically f|_{\mathbb{C}-\{0\}} is a different function from f because it has a different domain. It is called the restriction of f to \mathbb{C}-\{0\}. For every function on \mathbb{C}-\{0\} there are also corresponding restrictions to \mathbb{C}-\{0,1\}.

In order to formalize this, we note that if V is a subset of U, usually written V\subseteq U, then we have a function called an inclusion function, or inclusion, from V to U, which sends every element of V to the same element in U. If we write the set of functions on V as \mathcal{F}(V),  and the set of functions on U as \mathcal{F}(U), we obtain a map from \mathcal{F}(U) to \mathcal{F}(V) that assigns to every function on U its restriction to \mathcal{F}(V). This mapping from \mathcal{F}(U) to \mathcal{F}(V) is called a restriction function, or restriction map.

We can summarize and generalize our discussion above as the condition that whenever we have an inclusion from V to U, then we also have a restriction map from \mathcal{F}(U) to \mathcal{F}(V). We now obtain the “classical” notion of a presheaf. For the more rigorous definition, we quote from the book Algebraic Geometry by Robin Hartshorne:

Let X be a topological space. A presheaf \mathcal{F}of abelian groups on X consists of the data

(a) for every open subset U\subseteq X, an abelian group \mathcal{F}(U), and

(b) for every inclusion V\subseteq U of open subsets of X, a morphism of abelian groups \rho_{UV}:\mathcal{F}(U)\rightarrow \mathcal{F}(V),

subject to the conditions

(0) \mathcal{F}(\varnothing), where \varnothing is the empty set,

(1) \rho_{UU} is the identity map, \mathcal{F}(U)\rightarrow \mathcal{F}(U),

(2) if W\subseteq V \subseteq U are three open subsets, then \rho_{UW}=\rho_{VW}\circ\rho_{UV}.

Since this particular definition in the book of Hartshorne only defines presheaves of abelian groups, the functions \rho_{UV} are required to be morphisms, which means that they respect the abelian group structure on \mathcal{F}(U) and \mathcal{F}(V), i.e. if we write the law of composition of the abelian group using “+“, and we have a+b=c in the domain, then a morphism of abelian groups is a function that satisfies f(a)+f(b)=f(c). However, presheaves can be defined for more general sets and functions.

We quote some more useful terminology from the book of Hartshorne:

If \mathcal{F} is a presheaf on X, we refer to \mathcal{F}(U) as the sections of the presheaf \mathcal{F} over the open set U, and we sometimes  use the notation \Gamma(U,\mathcal{F}) to denote the group \mathcal{F}(U). We call the maps \rho_{UV} restriction maps, and we sometimes write s|_{V} instead of \rho_{UV}(s), if s\in\mathcal{F}.

The concept of presheaf can be generalized even further so that the functions from V to U need not be inclusion functions. Together with the generalization of the concept of open covers in topology, and the concept of a sheaf, this leads to the concepts of site and topos.


Sheaf on Wikipedia

Presheaf on Wikipedia

Algebraic Geometry by Andreas Gathmann

The Rising Sea: Foundations of Algebraic Geometry by Ravi Vakil

Algebraic Geometry by Robin Hartshorne

Sheaves in Geometry and Logic: A First Introduction to Topos Theory by Saunders Mac Lane and Ieke Moerdijk

Homology and Cohomology

In Homotopy Theory we discussed the notion of homeomorphism, homotopy, and homotopy equivalence, and gave intuitive notions of what ideas they are supposed to communicate. We also discussed what it means for a space to be path connected and simply connected, and the use of loops on a space to investigate certain properties of a space such as how many pieces it is composed of and if there exist “holes” on the space.

Loops are “deformations” of the circle; hence we have defined the set (which also happens to form a group) of equivalence classes of loops on the space X “deformable” to each other as [S^{1}, X]. Similarly, the other homotopy groups are defined as the set of equivalence classes [S^{n}, X], where S^{n} is the n-dimensional sphere. In this post we will define another notion, that of a “cycle”, which also expresses ideas related to circles and more generally n-dimensional spheres. Just as loops and their higher-dimensional counterparts play a central role in homotopy theory, cycles and the related concept of boundaries also play a central role in homology theory.

First we note that when we speak of circles, we do not usually include the interior. But we have a different term for the interior; we call it the open disk. The open disk and the circle together form the closed disk. Similarly when we speak of the sphere, we refer only to the surface of the sphere and not its interior. We call the interior the open ball, and the open ball and the sphere together the closed ball. This terminology also generalizes to n-dimensional spheres as well. The interior of the n-dimensional sphere is called the n+1-dimensional open ball and both of them together form the  n+1-dimensional closed ball.

We note again that the 0-dimensional sphere of radius R can be thought of just the two points x=-R and x=R on the real line. Its interior, the 1-dimensional open ball, is the set of all real numbers between -R and R, i.e. the set of all real numbers x such that -R<x<R, i.e. the open interval (-R,R). The 1-dimensional closed ball is then the closed interval [-R,R].

Intuitively, the n-dimensional sphere is the boundary of the n+1-dimensional closed ball (we will sometimes speak of just the boundary of a ball or a disk, hoping that this will cause no confusion). For example, the boundary of an interval is made up of its two endpoints. If we were to consider some other shape, like, say, a more general curve with endpoints, intuitively we could still think of these endpoints as forming the boundaries of the curve. However, some curves, such as the circle, or any closed loop, do not have endpoints, and therefore do not have a boundary. Shapes that have no boundary are called cycles.

We recall that we have been thinking of the circle itself as being the boundary of a disk. Combined with our observation that the circle does not have a boundary, this provides us with an example of the following important principle central to homology theory:

A shape which is the boundary of some other shape, has itself no boundary.

In other words:

All boundaries are cycles.

However, the converse is not actually true. Not all cycles are boundaries. Intuitively we think of circles as boundaries of disks because we have been subconsciously embedding them in the plane. We can come up with examples of circles which are not the boundaries of disks if we think of them as being parts of some other surface other than the plane. Still, this is probably quite confusing, so we will attempt to show what we mean by explicitly giving some examples.

But first we consider another space in which, like the plane, all circles are the boundaries of disks. We consider an ordinary sphere. One can think of, say, a basketball. We could take a pen and draw circles or loops on this basketball, and each circle or loop would bound some part of the basketball. If we take a pair of scissors and cut the basketball along the circle or loop that we have drawn, we will end up with a piece of rubber in the shape of the region bounded by the circle or loop. If we drew a circle, this region will be a disk. Hence, on a sphere, all circles are boundaries of disks.

Now let us consider an example of a surface in which not all circles are boundaries of disks. We consider the torus. It is the shape of a surface of a donut, but we can also think of the inner tube of a tire, which people also often use as flotation aids in swimming pools. We can still draw a circle bounding a disk on this surface, so that if we cut along the circle with a pair of scissors we still get a piece of rubber in the shape of a disk. However, we can also draw a circle around the “body” of the tube; if we cut along this circle, we would just cut the tube into something like a cylinder, since the circle was “bounding” no part of the tube, only the empty space inside (or it could have been filled with air).

There is another circle we can draw, around the “hole” in the middle of the inner tube, and if we cut it open, we just “open up” the inner tube. Once again this circle is not the boundary of a disk on the inner tube. This circle, along with the one we have considered earlier, still do not have any boundary, and yet, they are not boundaries of disks either. Therefore we see that on the torus, not all cycles are boundaries.

We see also that keeping track of whether there are cycles that are not boundaries give us some information about the space these cycles are on, the same way that keeping track of the loops that cannot be contracted to a point give us information about the space the loops are on.

To help formalize these ideas (although we won’t completely formalize them in this post), we note that the dimension of the boundary of a shape is one less than dimension of the shape itself. So, for example, let us consider a set of shapes of dimension n, which we write as C_{n}. We also have another set of shapes of dimension n-1, which we write as C_{n-1}. We now want the boundary of a shape in C_{n} to be found in C_{n-1}, and we want a “boundary function” that assigns to a shape in C_{n} its boundary in C_{n-1}. We write this boundary function as \partial_{n} .

Some of the shapes in C_{n-1} also have boundaries, and these boundaries are to be found in yet another set C_{n-2}. The boundary function that sends shapes in C_{n-1} to their boundaries in C_{n-2} is written \partial_{n-1}.

All these sets must have “zero elements” to allow for the case when a shape has no boundary. If a shape in C_{n} has no boundary, then the boundary function sends it to the zero element in C_{n-1}.

If we then define an abelian group structure on the sets C_{n}C_{n-1}, and C_{n-2}, with the zero element being the identity of the group, we can then define the cycles to be the kernel of the boundary function. Recall that the kernel of a function between groups is the subset of the domain that the function sends to the identity element in the range. We can also define the boundaries as the image of the boundary function. Recall that the image of a function is the subset of the range made up of the elements the function assigned to the elements of the domain.

Note that that the function obtained by composing the two successive boundary functions, \partial_{n-1}\circ\partial_{n}, sends any element of C_{n} to the identity element in C_{n-2}. This is simply a reformulation of our “important principle” above which states that all boundaries are cycles.

We can now generalize the idea expressed by the groups C_{n}C_{n-1}, and  C_{n-2}, so that we can have any number of groups indexed by the natural numbers, and boundary functions between two successive groups, which obey the property that the composition of two successive boundary functions will send any element of its domain to the identity element in its range. These groups together with the boundary functions between them form what is called a chain complex.

We can now define the homology groups. Since our shapes now form groups, we can use the law of composition of the group to define an equivalence relation between the elements of the group and form a quotient group (see also Groups and Modular Arithmetic and Quotient Sets). What we want is to declare two cycles in the group equivalent if they differ by a boundary. The n-th homology group, written H_{n}, is then defined as

H_{n}=\text{Ker }\partial_{n}/\text{Im }\partial_{n+1}.

Here \text{Ker }\partial_{n} refers to the kernel of the n-th boundary operator, i.e. the cycles in C_{n+1} and  \text{Im }\partial_{n} refers to the image of the n+1-th boundary operator, i.e. the boundaries in C_{n+1}. Recall that what we are doing is keeping track of the cycles that are not boundaries. We declare two cycles equivalent if they differ by a boundary, so any cycle which is also a boundary is declared equivalent to the identity element of the group, i.e. the zero element. If we write the law of composition of the group using the symbol “+“, we can express the equivalence relation as

z+b\sim z

where z is a cycle and b is a boundary. We can therefore easily see that

0+b\sim 0.

This expresses the idea that what we are interested in are the cycles that are not boundaries. We are not so interested in the cycles that are boundaries, so we hide them away by declaring them to be equivalent to the identity element or zero element.

The sets of functions from the abelian groups that make up the chain complex to another abelian group form what is called a cochain complex of abelian groups, with its own coboundary functions. If we write the set of functions from C_{n} to some other abelian group as C_{n}^{*}, the coboundary function will go in the opposite direction as the boundary function. Whereas the boundary function \partial_{n} sends elements from C_{n} to their boundaries in C_{n-1}, the coboundary function d_{n-1} sends elements from C_{n-1}^{*} to their coboundaries in C_{n}^{*}. Note, once again, that while C_{n} is a set of shapes (which happen to form an abelian group), C_{n}^{*} is a set of functions from shapes to some other abelian group (which also happen to form an abelian group). The n-th cohomology group, writtenH^{n} is then defined as

 H^{n}=\text{Ker }d_{n}/\text{Im }d_{n-1}.

We have not yet explained how we are to define the shapes and abelian groups that make up our chain complex. We have relied only on the intuitive idea of cycles and boundaries. The methods by which these shapes and abelian groups are defined, such as singular homology and cellular homology, can be found in the references listed at the end of this post.


Homology on Wikipedia

Cohomology on Wikipedia

Chain Complex in Wikipedia

Algebraic Topology by Allen Hatcher

A Concise Course in Algebraic Topology by J. P. May