Recently in between studying for my finals I’ve been learning about a whole load of different things in algebraic geometry, a main one being cohomology in its various forms (sheaf, Čech, de Rahm, … even a bit of étale cohomology using sites).

The general idea of cohomology that I have at the moment is this:  we could say that, at least in part,

modern geometry  studies “spaces” by understanding functions on those spaces 

where “space” could mean “variety”, “scheme”, “manifold”, “site”, and many other things. Cohomology is a way of understanding the functions on spaces in a pretty high-level way. It’s a way of going from local information about functions defined on neighbourhoods of points to global information about how we can extend those functions to global functions. The geometry of the “space” dictates whether functions can be “extended”, and cohomology is a way for us to unpack this information. Therefore we could say

cohomology is the study of global properties of a space by looking at local-to-global obstructions.

The words “local-to-global” should immediately bring to mind sheaves, and indeed cohomology basically seems to be the measure of losing exactness of sequences of sheaves

0\to F\to G\to H\to 0

after taking global sections:

0\to F(X)\to G(X)\to H(X)

since the map on the right might not always be surjective. Sheaf cohomology seems to be the most general way (so far, to my understanding) of measuring these obstructions – and on suitably nice spaces, sheaf cohomology starts to agree with its more easily-calculable mates.

Anyway, I don’t want to talk so much about cohomology right now. Instead I wanted to briefly point out something cool on the Čech cohomology Wikipedia page. They have a picture there of a Penrose triangle:


By Tobias R. – Metoc – Own work, CC BY-SA 2.5,

Obviously this is the famous example of an “impossible object”: one that cannot exist in our 3D space. Things like this have delighted loads of people over the ages, and arguably great artists like M.C. Escher made careers out of exploiting these weird objects.

After spending ages working on cohomology in the abstract, I was amazed to hear that the “impossibility” of this Penrose triangle can be described by cohomology! This nice article by Penrose himself explains how the “impossibility” of the figure arises in the following way: we could chop up the figure into three pieces, each containing a corner of the triangle. By doing this we get three absolutely standard “corner pieces” C_1, C_2, C_3 that have no paradoxical qualities. The issue arises in gluing these pieces together, because we don’t have any information about the distance each piece is from the observer.

To explain what happens in the article, let’s fix two points P_{i, j} \in C_i such that when the corners are laid out as if to be glued, e.g. P_{1,2} is superimposed over P_{2,1}: in general P_{i,j} and P_{j,i} are the same to the observer except for the fact that they may be a different distance away. Let’s let O denote the observer and

d_{i j} = \frac{\text{distance}(O, P_{i,j})}{\text{distance}(O, P_{j,i})}.

The ratios d_{i,j} don’t depend on the actual distance the points are from the observer – only their ratios of the points with each other. By moving a one of the corners C_i towards/away from the observer by a certain distance, we change the ratios d_{i,j} and d_{i,k} by the same factor \lambda >0. Therefore if the Penrose triangle could be realised as a 3D object it would be possible to simultaneously reduce each d_{i,j} to 1 by transformations of this type. That would mean the cocyle

(d_{1,2}, d_{2,3}, d_{3,1})

would be a coboundary, and would therefore be trivial in the first cohomology group of the annulus that surrounds the figure. But this is a nontrivial group, so not all cocycles are coboundaries, and it turns out this one is nontrivial.

So the nontriviality of the first cohomology group with real coefficients (distances from the observer) means that there are certain shapes, like the Penrose triangle, that cannot actually exist! The problem was that we had a shape (not the Penrose triangle, but the annulus surrounding it) and we had three open sets on it, each with a “corner” of the Penrose triangle drawn on it. Each of these open sets also had a function “distance from the observer” defined on it. The topology of the shape prevented us from being able to glue these functions together to get a globally consistent distance function. Which is precisely what causes the paradox with the Penrose triangle – at any point it is locally a consistent shape, but our brains cannot “glue” the distance information together to get a global shape that actually exists.

I haven’t fallen off the face of the earth – but I have been extremely busy learning lots of new maths, and I’ve had very little time to write down any of it on here. I wanted to write a short(ish) post on a really nice new topic I’ve been learning about – Galois categories. Here are two examples of where the theory comes from:

In Galois theory, we consider a field K and the field extensions L/K. We can look at automorphisms of these extensions (automorphisms of L fixing K pointwise), and develop the notion of a Galois group of the extension from here. There are nice relationships between subextensions of a field extension and subgroups of the Galois group of that extension. In particular, the Galois groups of “Galois subextensions” L/M/K are quotient groups of \text{Gal}(L/K). One can build a category out of the extensions of K (actually generalised extensions, allowing K-algebras that are not fields) and consider the (contravariant) functor

\text{Hom}(-, K_s)

on this category, where K_s is a choice of separable closure of K. Then for things called finite étale algebras (K-algebras isomorphic to a finite direct product of separable extensions of K), this functor induces a categorical equivalence between the (opposite) category of finite étale algebras and the category of finite sets equipped with a continous left action by the Galois group G =\text{Gal}(K_s/K). Separable extensions correspond to sets with a transitive G-action and Galois extensions correspond to G-sets isomorphic to finite quotient groups of G.

In topology, there is a similar story with covering spaces of a fixed space X. These are spaces that map onto X via “local homeomorphisms”. The fundamental group \pi_1 (X,x) acts on elements of the fibre of the covering p: Y\to X above x via ”lifting” (mondromy) of loops to paths. If this action is transitive, the covering is called Galois. For sufficiently nice spaces X, there is a simply connected covering space \tilde{X} with a distinguished point \tilde{x} whose group of deck transformations (automorphisms of it as a cover of X) is isomorphic to the fundamental group \pi_1 (X,x). This is called the universal cover of X, and in fact it actually represents the functor


on the category of covers that sends each covering p: Y\to X to its fibre above x. For obvious reasons this functor is called the fibre functor. Then the fibre functor induces an equivalence between the category of finite covers of X and the category of finite sets equipped with a continuous left \widehat{\pi_1 (X,x)}-action, where \widehat{G} denotes the profinite completion.

There are other examples of similar instances across mathematics; it would seem reasonable to think that the cause of this behaviour – a category with a certain type of structure equipped with a “fibre functor” to finite sets – is essentially categorical, having nothing to do really with the objects involved, be they field extensions or covers of a space.

Galois categories are the answer: both the examples above (with the opposite category taken for field extensions) turn out to be instances of Galois categories. A Galois category is a category \mathcal{C} equipped with a functor F taking values in finite sets such that

  1. Finite fibre products exist in \mathcal{C} and \mathcal{C} has a terminal object;
  2. Finite coproducts exist in \mathcal{C} and categorical quotients by finite automorphism groups exist;
  3. Every morphism u: Y\to X factors as Y\to X'\to X, where the first arrow is a strict epimorphism (think “covering”) and the second arrow is a monomorphism that is an isomorphism onto a direct summand of X (so the whole morphism is a “covering of a connected component” of X);
  4. The functor F commutes with fibre products and sends the terminal object to a singleton;
  5. F commutes with finite coproducts, quotients by automorphisms and sends strict epimorphisms to strict epimorphisms;
  6. F reflects isomorphisms.

This list of axioms is actually amazingly strong. From it we can deduce many things:

  1. The decomposition of morphisms in axiom 3. is essentially unique (unique up to a unique isom);
  2. \mathcal{C} is “Artinian” in the sense that chains of monomorphisms \dots \to X_2\to X_1\to X_0 eventually become isomorphisms;
  3. Every object has an essentially unique decomposition into a finite number of “connected components” (objects that are not isomorphic to a coproduct with neither summand the initial object);

Lots of these follow from exploiting the relation between \mathcal{C} and finite sets via the fibre functor. Then morphisms to/from connected objects are heavily constrained:

  1. Morphisms to connected objects are strict epimorphisms (since a connected object has one connected component, you must cover the whole component);
  2. Strict epimorphisms from a connected object force the codomain to also be connected (i.e. if you cover an object by a connected object then the target must also be connected);
  3. All endomorphisms of a connected object are automorphisms.

The last, in particular, is very reminiscent of classical Galois theory – any endomorphism of an algebraic extension of a field K is an automorphism.

There is also a categorical notion of a Galois object – this is a connected object X whose quotient by its automorphisms is a terminal object (equivalently there is a bijection between the automorphisms of X and the elements in F(X)). Every connected object has a Galois closure, just as in Galois theory.

Let X_0 be a Galois object. By restricting to the full subcategory \mathcal{C}^{X_0} of \mathcal{C} consisting of objects all of whose connected components are “dominated” by X_0 (i.e. there is a morphism from X_0 to all of the connected components) and restricting the fibre functor accordingly, we obtain an isomorphism of functors

\text{Hom}_{\mathcal{C}^{X_0}} (X_0, -)\xrightarrow{\sim} F\vert_{\mathcal{C}^{X_0}}

and furthermore F\vert_{\mathcal{C}^{X_0}} factors through an equivalence between \mathcal{C}^{X_0} and the category of finite sets equipped with a continuous left action by the opposite group of the automorphism group of X_0, which is also the group of automorphisms of the restricted fibre functor F\vert_{\mathcal{C}^{X_0}}. This is the famous “Galois correspondence” of Galois theory in this very abstract language.

The goal is then to construct a “profinite” version of this equivalence with the original category \mathcal{C}, allowing for many more Galois correspondences. This is done by piecing together the “finite versions” with the categories \mathcal{C}^{X_0}. By setting


to be the automorphism group of the fibre functor, the above then allows us to reconstruct the topological fundamental group as the “fundamental group” of the Galois category of covers of a space/the Galois group \text{Gal}(K_s/K) as the fundamental group of the opposite category of finite étale K-algebras, and furthermore allows us to carry both of these ideas over to schemes via the étale fundamental group.

It’s been sketchy, because I’m still digesting the ideas, but I hope to spend more time on this soon once I have read more. If you’re interested and want a very nice introduction to these ideas (you only need basic category theory!), I’d recommend getting hold of a copy of Arithmetic and Geometry Around Galois Theory and checking out the Galois Categories article by Cadoret.

I’m somewhat late to the mark on this, but I just read a wonderful short story by Lieven Le Bruyn that combines two things that have been on my brainwaves during the last few months: David Lynch’s Twin Peaks and Shinichi Mochizuki’s Inter-Universal Teichüller Theory.  It’s called The Log Lady and the Frobenioid of \mathbb{Z}!

It involves the mysterious development of ideas in dreams, a certain Japanese tourist and compactifying Norma’s famous cherry pies at the Double-R Diner (Edit: I have just realised it’s \pi-day, so this is extremely fitting!)

Like many other things I have read on neverendingbooks, it’s smart, funny, philosophical and left me feeling both more and less mystified. I urge you to give it a read!

(P.S. there are no Twin Peaks spoilers in it either, so there’s no danger in reading if you – like myself – have not yet finished watching.)

In a previous post I wrote about and drew pictures of certain special schemes (some of which I would now draw differently after a bit more experience). There was one scheme here that I really wanted to look at again – and which we might be able to say a bit more about now we’ve looked at the functor of points.

That scheme is “affine space over the integers”

X = \mathbb{A}^1_{\mathbb{Z}} = \text{Spec}\mathbb{Z}[x]

The inclusion \mathbb{Z}\hookrightarrow \mathbb{Z}[x] induces a morphism

\phi: X\rightarrow \text{Spec}\mathbb{Z}

and the “fibres” of this morphism – that is, the preimages of the points in \text{Spec}\mathbb{Z} – in certain subschemes of X are of substantial number-theoretic interest.

A really quick definition of fibre products and inverse images

In general if X is a scheme, Y\hookrightarrow X is a subscheme, and \phi: Z\rightarrow X is a morphism, then the “inverse image” \phi^{-1}(Y) of Y under \phi is the fibre product

\phi^{-1}(Y) = Y\times_X Z

Note that in the category of affine schemes, the fibre product

\text{Spec}(A)\times_{\text{Spec}(C)} \text{Spec}(B)

is just the spectrum of the tensor product

\text{Spec}(A\otimes_C B)

which you can check by checking this has the right universal mapping property for the fibre product. In the general case, since schemes are glued up from affine schemes we can show that fibred products exist and are made by glueing spectra of tensor products together. I won’t say any more about fibre products except that if x\in X is a point then we can describe x as a morphism

\bar{x}: \text{Spec}\kappa(x) \rightarrow X

from the spectrum of the residue field at x into X. Then the fibre above x is the fibre product

\phi^{-1}(x) = \phi^{-1}(\left\{x\right\}) = \text{Spec}\kappa(x)\times_X Z

Geometrically, this is just all the points of Z that map to x under \phi, and this constitutes a subscheme of Z since the category of schemes has fibre products.

The fibres of \mathbb{A}^1_{\mathbb{Z}} \rightarrow \text{Spec}\mathbb{Z}

Okay, so back to our arithmetic space X = \mathbb{A}^1_{\mathbb{Z}} and its morphism \phi: X\rightarrow \text{Spec}\mathbb{Z}. Then the fibre above [(0)] is

\phi^{-1}([(0)]) = \text{Spec}\mathbb{Q} \times_{\text{Spec}\mathbb{Z}} X = \text{Spec}(\mathbb{Q}\otimes_\mathbb{Z} \mathbb{Z}[x]) = \text{Spec}\mathbb{Q}[x] = \mathbb{A}^1_{\mathbb{Q}}

So above the generic point [(0)], the points of X look like the spectrum of \mathbb{Q}[x]; this looks like a one-dimensional line with points for all the rational numbers p/q corresponding to maximal ideals of the form (x-p/q) , plus a “one-dimensional” generic point corresponding to the zero ideal; it also has extra points owing to the fact that \mathbb{Q} is not algebraically closed, and in fact for every irreducible monic polynomial f\in\mathbb{Q}[x] there is a point [(f)] in \text{Spec}\mathbb{Q}[x]. Hence these extra points corresponds to orbits of algebraic numbers under the action of \text{Gal}(\mathbb{Q}), the absolute Galois group of the rationals. So already the fibre above the generic point of \text{Spec}\mathbb{Z} carries a huge amount of arithmetic information. We can draw \text{Spec}\mathbb{Q}[x] as looking something like this:


Here the single black line is one single point – the generic point corresponding to the zero ideal. The red lines are meant to denote rational numbers (in lowest terms) spread densely along this line. Then the pair of purple points denotes a single point of this scheme – here it’s a pair of algebraic numbers of degree 2: for example the pair \pm\sqrt{2} under the action of the Galois group which swaps these two points. Similarly the blue quadruple of points and arrows represents a single point in this scheme corresponding to the orbit of an algebraic number of order 4.

Okay, cool. So the fibre above the generic point looks like affine space over the rationals – a line of rational points packaged with extra info about algebraic numbers of higher degrees and their symmetries. What about the fibre over a closed point [(p)] corresponding to a prime number p? Here the point [(p)] can be described as a morphism \text{Spec}\mathbb{F}_p \rightarrow \text{Spec}\mathbb{Z}, and if you do the easy computation you see that the fibre above this point looks like \text{Spec}\mathbb{F}_p [x] = \mathbb{A}^1_{\mathbb{F}_p} – the affine line over the finite field \mathbb{F}_p = \mathbb{Z}/p\mathbb{Z}. Again, the points of this scheme are orbits of the action of the absolute Galois group of \mathbb{F}_p on its algebraic closure.

So the first interesting thing about \mathbb{A}^1_{\mathbb{Z}} is that it basically “parameterises” affine spaces over all of the simplest fields as the characteristic varies: it is a collection of fibres, varying over the prime numbers and zero, which “package” affine spaces over different fields together into one whole:


Algebraic numbers as functions on the primes

Here’s one thing that struck me as extremely cool: \text{Spec}\mathbb{Z} was created as a geometric object on which the integers \mathbb{Z} arose as the ring of globally-defined “functions”. The affine space X=\mathbb{A}^1_{\mathbb{Z}} allows us to draw these functions, but they’re not especially interesting in themselves. What’s more interesting is that every single algebraic number can be realised as a function on a subscheme of \text{Spec}\mathbb{Z} and drawn using a subscheme of X!

For, starting with the integers: the point (x)\in X (I’ll omit the square brackets around ideals to denote points of the scheme to ease notation) corresponds to the value “zero” of these functions; that’s because when x = 0, (x) = (0)\subseteq \mathbb{Q}, and when x = p, (x) = (0) \subseteq\mathbb{F}_p = \mathbb{Z}/(p). Now for example the point (x-2)\in X – that is, the ideal – only equals (x) in the ring \mathbb{F}_2 [x], and so we see that (x-2) intersects the zero-line when x=2. This corresponds to the “function” “2” on the integers just vanishing at the prime 2. Conversely, the ideal (x-6) only equals (x) when x=2 or 3, and so the “function” 6 vanishes on the primes at 2 or 3. We can make sense of the “function” 9 = 3^2 vanishing “to order 2” at the prime 3, but let’s leave what this means precisely for now (visually, the line corresponding to the graph of this function is tangent to the graph of (x) at 3). We can draw these things like so:


But we can do much more: we can consider rational numbers (in lowest form) p/q, which correspond to prime ideals of \mathbb{Z}[x] of the form (px - q). These have a zero at the prime numbers in the factorisation of p and a pole at the primes in the factorisation of q, and by putting the fraction in lowest terms we ensure that we don’t get primes on which ther are both zeros and poles. For example, the graph of the function 49/5 looks something like this:


There is a double-zero at 7 and a pole at 5. The pole appears because modulo 5,

5x - 49 \equiv -49 \equiv 1 \pmod 5

Thus with some imagination we see that at the prime 5, the “function” 49/5 corresponding to the ideal (5x -49) doesn’t coincide with any points along the vertical “geometric axis”. Instead we get 5x - 49 \equiv 1 \pmod 5 (which you can check will always happen when the fraction is in lowest terms), and then the ideal (1) always equals the whole ring (whichever ring we’re in). Now prime ideals are by definition not equal to the whole ring, so the ideal (1) can never intersect one of the fibres \mathbb{A}_K^1, because if it did it would intersect at a point, which is a prime ideal. Hence it is reasonable to regard 5 as a pole of the function 49/5 on the primes.

 I’ve also drawn the values of the function at the primes 2 and 3, which are obtained by reducing the polynomial modulo those primes. Hence we can meaningfully say that modulo 2, 49/5 = 1 and modulo 3, 49/5 = 1/2 because the ideal (5x - 49) equals the ideals (x-1) and (2x-1) at these respective points.

Another useful fact: the graphs of all of these “functions” emerge as  closed subschemes of X. The first 3 on the first picture are all isomorphic to \text{Spec}\mathbb{Z} via e.g. \mathbb{Z}[2] = \mathbb{Z}[x]/(x-2)\cong\mathbb{Z}. On the graph we see that indeed these graphs look like squished-up versions of the copy of \text{Spec}\mathbb{Z} below that they map down onto via \phi. The second scheme looks different – the pole at 5 means there is a “gap” in the scheme corresponding to (the closure of) (5x-49)\in X, and indeed this scheme emerges as

\text{Spec}\mathbb{Z}[x]/(5x-49) \cong \text{Spec}\mathbb{Z}[49/5] \not\cong\text{Spec}\mathbb{Z}

However, we see that in the way I’ve drawn it, there is only ever at most one point in the fibre of this scheme over a point of \text{Spec}\mathbb{Z} – this corresponds to the degree of the polynomial 5x - 49 being 1.

Algebraic numbers of higher degree and \sqrt{3}

Here is where algebraic numbers of higher degree pop up – they appear as subschemes of X where the fibres above \text{Spec}\mathbb{Z} contain more than 1 point. For example, consider the closure of the point (x^2 - 3)\in\text{Spec}\mathbb{Z}[x]. We can factor it as

x^2 - 3 \equiv (x-1)^2 \pmod 2, \quad x^2 - 3 \equiv x^2 \pmod 3

whereas over \mathbb{F}_{5}, in contrast, the polynomial remains irreducible, and over \mathbb{F}_11, it splits into two distinct factors. We can draw this as follows:


Here there are three different types of points in the subscheme Y = \text{Spec} \mathbb[Z][\sqrt{3}] \cong \text{Spec}\mathbb{Z}[x]/(x^2 - 3) that arises as the closure of this point. There are “ordinary” pairs of points above primes 11 and 13 – and more generally, over any prime p where 3 is a square modulo p. Here the restriction of \phi to Y is “unramified” at these points, to use familiar geometric language from varieties, and the residue fields at these points are just the residue fields \mathbb{F}_p. So in this sense, these points are pairs of points on the “most simple part” of the fibre \mathbb{A}^1_{\mathbb{F}_p} – the degree 1 points of \mathbb{F}_p which are actually in this field. These points are called reduced because the local ring at these points is reduced – it has no nilpotents.

The second type of point is one like that above the primes $p= 2, 3$, where the polynomial x^2 - 3 is the square of another irreducible polynomial g\in\mathbb{F}_p [x]. These points are nonreduced, because they are subschemes Z = \text{Spec}\mathbb{F}_p [x]/(g^2) and thus have the nilpotent element g. These are “one-dimensional shreds of points”, and the data of a function vanishing on one of these points means it and its first derivative must also vanish. So they are “double-points” consisting of the point and an “infinitesimal neighbourhood” around the point. However, the residue field at these points is still \mathbb{F}_p, so we have a “double point” on the most simple part of the affine line \mathbb{A}^1_{\mathbb{F}_p} – i.e. an orbit consisting of a single point. These points are called ramified points, because the two fibres join together here to create a double point. We see this as the two fibres joining vertically at the point.

The third type of point is like that above the primes p =5, 7, and more generally any prime such that 3 is not a square modulo p. Here the polynomial remains irreducible since 3 is not a square modulo that prime, and hence (x^2 - 3) corresponds to a single point in the fibre. This point is also reduced, having coordinate ring \mathbb{F}_p [x]/(x^2 - 3), which also equals its residue field; however, the difference here is that the residue field is now not \mathbb{F}_p but a quadratic extension \mathbb{F}_{p^2}. This means that the point in the fibre above p contained in the closure of (x^2 - 3) is not one of the most simple “degree 1” points, but in fact a point corresponding to an orbit of 2 Galois-conjugate quadratic-extension points. This corresponds to the two lines joining tangentially to the point. It’s not a perfect way to draw it but it works, and I’ve attempted a localised picture of this intersection below:


Here the black line represents the generic point of the fibre \mathbb{A}^1_{\mathbb{F}_p} above p, the blue dashes represent the simplest “degree 1” points of the fibre corresponding to ideals of \mathbb{F}_p [x] of degree 1, the two green dots represent a single point of the fibre corresponding to a Galois-orbit of two conjugate quadratic points, and the red lines represent the closure of (x^2- 3) as it moves through X = \mathbb{A}^1_{\mathbb{Z}} – it’s part of the generic point. So this red line intersects the fibre at one or two points; in the first case it’s at two distinct blue points, the nicest “unramified” kind of intersection. In the second case the fibre itself comes together at a blue point, giving us a point of “intersection multiplicity 2” – the ramified case. In the third case the closure of (x^2 - 3) doesn’t really intersect itself at the fibre above p – geometrically, it should really still be pictured as two distinct lines. The problem is these two lines meet the fibre at the pair of Galois-conjugate points, which really count as just one point in \mathbb{A}^1_{\mathbb{F}_p}; this is why we just see one point in the scheme. However, if we instead “pulled back” this fibre to \mathbb{A}^1_{\mathbb{F}_{p^2}}, so that we could see these two Galois-conjugate points were genuinely distinct, we’d somehow “resolve” these sorts of ramifications. It’s not a genuine ramification as in the type-2 case. I guess this is the sort of thing that can be dealt with using “blow-ups” or some such thing, although I’m not at this level yet.

Finally, I’ll leave you with this relation to algebraic number theory: the primes above which we get really pathological “ramification” of the map Y\rightarrow \text{Spec}\mathbb{Z} above are p = 2,3, which are the primes dividing the discriminant of the quadratic number field \mathbb{Q}(\sqrt{3}). This geometric picture explains why we call these primes ramified in algebraic number theory; the ring of integers of \mathbb{Q}(\sqrt{3}) is \mathbb{Z}[\sqrt{3}] and its spectrum is exactly the subscheme of X that I drew above. We see that the ramification points of this map correspond to the truly ramified primes. The other primes are controlled by the Legendre symbol (3/p) and quadratic reciprocity laws and there are only two possible types of other behaviour here, corresponding to type 1 and type 3 points. I’m particularly interested in learning more about this intersection at a pair of conjugate points and how this can be remedied by pulling back to an algebraic extension field.

Further, it hints at how traditional algebraic number theory – the study of finite extensions of the rationals and their rings of integers – can all be interpreted in a geometric context. The spectrum of the ring of integers of every number field arises as a closed subscheme of X, and spectra of many more types of rings – such as p-adic rings – occur as localisations here. So we need to develop and refine our geometric tools – with a special focus on this interesting intersection theory – to be able to get arithmetic information back from the geometry.

Firstly, sorry for the blog silence! Christmas, New Year, birthday and exams all got in the way… but now we’re finally onto this Zariski site post I’ve been going on about!

If you remember some of the stuff from this post about sheaves on sites, and this post about the functor of points of a scheme , then you’re good to go here. We introduced the functor of points of a scheme X, namely the representable presheaf h_X = \text{Mor}(-,X), and looked at how it relates to the solutions of Diophantine equations in the affine case X = \text{Spec}(A). We also saw here how if X is a K-scheme then the set of “rational points”  X(K) of X identifies with h_X (\text{Spec}(K)) and with the sections of the morphism X\rightarrow \text{Spec}(K). And then I mentioned somewhere that it is possible to “identify” a scheme with its functor of points.

What this really means is that we can “embed’ the category of schemes into the larger category of presheaves on the category of schemes (this is just the Yoneda embedding), but we can also completely characterise when a presheaf on the category of schemes is the functor of points of some scheme. To do this, we had to introduce the notion of what a sheaf on a category was, so we needed Grothendieck (pre)topologies. It will turn out that a presheaf on the category of (affine) schemes is the functor of points of a scheme if and only if it is a sheaf on the Zariski site and a certain “covering condition” is satisfied.

To explain why I have put the word “affine” in brackets above, we’ll prove the following nice lemma:

Lemma: Let R be a ring, and \textbf{Sch}/R the category of schemes over R. The functor

h: \textbf{Sch}/R \rightarrow [R\textbf{-Alg}, \textbf{Set}], \quad X\mapsto h_X = \text{Mor}_R (-,X)

is full and faithful, where the presheaf $text{Mor}_R (-,X)$ denotes the presheaf on the category of R-schemes.

This looks very like the usual Yoneda embedding except that the functor category here is slightly different. We’re sending each R-scheme X to its functor of points h_X, but this time not considered as a presheaf on the category of all R-schemes but now just as a presheaf on the subcategory of affine R-schemes; in other words, as a covariant functor from the category of R-algebras to sets. The lemma says that each functor of points is completely determined by its action on affine R-schemes, which in some way just reflects the fact that all schemes are just glued together from affine schemes.

Proof of the lemma: Let S = \text{Spec}(R) and let h_X denote the restriction of the presheaf \text{Mor}_S (-, X) to the category of affine R-schemes. We want to show that every natural transformation \phi: h_X \mapsto h_{X'} comes from a unique morphism of R-schemes f: X\rightarrow X'. To do this, let X = \cup_{i} X_i be a cover of X by affine schemes, and let

j_i : X_i \hookrightarrow X

denote the inclusions (which are morphisms of R-schemes). Then f_i:=\phi_{X_i} (j_i)\in h_{X'} (X_i) is a morphism X_i \rightarrow X'. Then using the “glueing” of the topological spaces, continuous maps and structure sheaves, we get a unique morphism of schemes f: X\rightarrow X' such that the restriction of f to X_i is f_i.

You can check that the natural transformation \phi: h_X \rightarrow h_{X'} is the image of f under h, so h is a full functor. Now again using that schemes are glued up from affine schemes, we see that if we have two morphisms f,g: X\rightarrow X' that differ then they must differ on one of the affine covers X_i\subseteq X. Then by the construction above, the induced natural transformations h_f, h_g: h_X \rightarrow h_{X'} will not be equal because they differ on their component at X_i. Thus h is a full functor. This completes the proof.

So a (relative) scheme is determined by the values its functor of points takes on the category of affine (relative) schemes, which really is just the dual of the category of rings. This gets around the awkward circular attempt to define a scheme as a certain type of presheaf on the category of schemes, because we already know what the category of rings is. When we eventually categorise schemes as certain sheaves on the category of affine schemes (the dual of the category of rings) we won’t need to already know what a scheme is because everything goes through purely categorically using that the category of affine schemes is dual to rings, and we can define topologies on this dual category.

The Zariski Topology

Let \mathcal{C} denote the category of affine schemes (i.e. the dual of the category of rings). To specify what the Zariski pretopology is on \mathcal{C} we need to say what the covering families are:

Suppose \left\{\text{Spec}(A_i)\rightarrow \text{Spec}(S)\right\} is a family of morphisms in \mathcal{C}. This family is a covering family for the Zariski pretopology iff

  1. Each ring A_i is the localisation of S at a single element s_i \in S;
  2. The morphism \text{Spec}(A_i)\rightarrow\text{Spec}(S) is the functorial inclusion induced by the localisation map S\rightarrow A_i = S[s_i^{-1}];
  3. There exists a finite set f_i \in S such that s_1 f_1 + \dots + s_n f_n = 1.

The first condition means we want to think of each s_i as a function on \text{Spec}(S); the second condition means we want the inclusion \text{Spec}(A_i)\hookrightarrow \text{Spec}(S) to be the subset of the space on which the function s_i is nonzero; the third condition expresses that these functions should form a “partition of unity“, a useful geometric condition.

You can check that these satisfy the axioms for a pretopology on \mathcal{C} given in this post – clearly, the family \left\{id_{\text{Spec}(S)}\right\} is a covering family induced by localisation at 1\in S; the pullback condition holds by looking at the images of these localised elements under homomorphisms; the final condition holds via composition of localisations.

This defines a pretopology on \mathcal{C} denoted J_{\text{Zar}}, the Zariski pretopology. This induces a unique Grothendieck topology on the category, and we denote the site (\mathcal{C}, J_{\text{Zar}}) by \textbf{Aff}_{\text{Zar}}, the affine Zariski site. A sheaf on this site is then a functor

F: \textbf{Aff}_{\text{Zar}} \rightarrow \textbf{Set}

such that for every covering family

\left\{\text{Spec}(A_i) = X_i \rightarrow\text{Spec}(S) = X\right\}

the set F(X) is the equaliser of the two maps \prod F(X_i) \rightrightarrows \prod F(X_i \times_X X_j) induced by restrictions, where the pullback in the category of affine schemes is defined as

X_i \times_X X_j = \text{Spec}\left(A_i \otimes A_j \right)

i.e. the spectrum of the tensor product of the S-algebras A_i and A_j.

Open subfunctors

We’re nearly ready to state the classification theorem for schemes as functors; we just need one final notion:

Suppose that \alpha: G\hookrightarrow F is a subfunctor, where both are functors from rings to sets. We say that G is an open subfunctor if whenever X = \text{Spec}(R) is an affine scheme and \psi: h_X \rightarrow F is a natural transformation, the morphism

h_X \times_F G \rightarrow h_X

is isomorphic to the natural transformation h_Y \rightarrow h_X induced by the inclusion Y\hookrightarrow X of an open subscheme.

One can show that the open subfunctors of a functor of points h_X are precisely the functors of points of open subschemes of X.

Characterisation of schemes amongst all functors

We’ve seen that the whole category of schemes embeds inside the category of presheaves on the category of affine schemes. Let’s now see what that embedded category looks like:

Functor classication theorem: Let F: \textbf{Aff}^{\text{op}} \rightarrow\textbf{Set} be a presheaf on the Zariski site (i.e. a functor from rings to sets). Then F is the functor of points of a scheme X if and only if

  1. F is a sheaf on the Zariski site \textbf{Aff}_{\text{Zar}};
  2. there exists rings R_i and open subfunctors \alpha_i : h_{R_i} \rightarrow F such that for each field K, F(\text{Spec}(K)) is the union of the images of the sets h_{R_i} (K) under the \text{Spec}(K)-components of the natural transformations \alpha_i.

This is actually not hard to prove – just using that schemes are glued up from affine schemes. Although it’s abstract it’s somehow closer to home than viewing schemes as geometric spaces, because we understand algebra (rings) well in the abstract sense, and we understand categorical algebra well too – the geometry of schemes then emerges as categorical algebra on the category of rings. I’ll try to emphasise the two points of view throughout this blog, although the “ringed space” viewpoint will undoubtedly serve us better until we start doing more advanced stuff, where it is possible to change the Zariski site to “finer” sites like the étale site having better properties. It’s also necessary to use the functor of points viewpoint for anything involving stacks, and generalisation of schemes, and this particular arm of algebraic geometry makes heavy use of this “geometry-through-algebra” idea.

Next time I’m leaving all this abstract nonsense and going back to doing some real geometry with schemes, starting from the basics.

Right, it’s nearly Christmas and I have been so busy working on my undergrad thesis that I haven’t had any time to fire off another proper post. So I just wanted to record a few more basic facts about Grothendieck topologies further to my last post about them!

Let \mathcal{C} be any small category. Just as for an arbitrary topological space, there are two obvious (and not always so interesting) Grothendieck topologies we can put on \mathcal{C}:

The Indiscrete Topology: for each U\in\mathcal{C}, let J_{\text{ind}}(U) consist of just the maximal sieve \bigcup_{A\in\mathcal{C}} \mathcal{C}(A,U). This is analogous to the indiscrete topology on a topological space where the only open sets are the empty set and the whole set. The Grothendieck pretopology associated to this topology (if \mathcal{C} has pullbacks) has only isomorphisms as covering families, so it’s a strange topology in which you can’t cover “open sets” with any smaller or larger “open sets”.

Another noticeable thing about the indiscrete topology J_{\text{ind}} is that every presheaf F on the site (\mathcal{C}, J_{\text{ind}}) is a sheaf; this is because the only sieve on an object U is the maximal sieve, which can be identified with the respresentable presheaf h_U = \mathcal{C}(-,U), and every morphism h_U \rightarrow F in [\mathcal{C}^{op}, \text{Set}] has exactly one extension to a morphism h_U \rightarrow F; namely, the identity natural transformation.

This is analogous to equipping a space with the usual indiscrete topology; the sheaf axioms are automatically satisfied for any presheaf because the only open sets to worry about are the whole space and the empty set. There is not enough “separation” between points to mess up a presheaf becoming a sheaf.

The discrete topology: Conversely, the “finest” possible topology on a category is the discrete topology J_{\text{dis}} in which every sieve is a covering sieve. Here every single covering family is a covering of a set. In contrast to the indiscrete topology, the only presheaf on (\mathcal{C}, J_{\text{dis}}) that is a sheaf is the terminal object in the category [\mathcal{C}^{op}, \text{Set}] i.e. the presheaf sending every object to a one-point set. There is just “too much separation” going on for sheaves to behave nicely.


Apart from these two extremes, there is also another checkpoint in the lattice of Grothendieck topologies on a category; this is called the canonical topology. As we have seen, the more covering sieves are introduced into a topology, the fewer sheaves are left on the category. There are certain presheaves that, often, we would like to be sheaves; these are the representable presheaves h_U = \mathcal{C}(-,U). As we’ll later see, schemes turn out to be certain sheaves on the “Zariski site”, and these are closely linked to the concept of representability.

The canonical topology is the largest Grothendieck topology on a category on which every representable presheaf h_U is a sheaf. Any topology where every representable presheaf is a sheaf is called subcanonical, and in practice most useful topologies are subcanonical – the Zariski topology, étale topology, fppf and fpqc topologies, …

One day in the future we’ll get to work with these exotic things but at the moment we’ll stick with the first. Anyway, I’ll get back to this sometime soon; Merry Christmas and a happy New year!

I found this a fascinating post, and given the context of this blog I hope other readers may do too!


Brian Conrad is a math professor at Stanford and was one of the participants at the Oxford workshop on Mochizuki’s work on the ABC Conjecture. He is an expert in arithmetic geometry, a subfield of number theory which provides geometric formulations of the ABC Conjecture (the viewpoint studied in Mochizuki’s work).

Since he was asked by a variety of people for his thoughts about the workshop, Brian wrote the following summary. He hopes that a non-specialist may also learn something from these notes concerning the present situation. Forthcoming articles in Nature and Quanta on the workshop will be addressed at the general public. This writeup has the following structure:

  1. Background
  2. What has delayed wider understanding of the ideas?
  3. What is Inter-universal Teichmuller Theory (IUTT = IUT)?
  4. What happened at the conference?
  5. Audience frustration
  6. Concluding thoughts
  7. Technical appendix

1.  Background

The ABC Conjecture is one of the outstanding conjectures in number…

View original post 7,551 more words

This is going to be one of the most abstract and technical posts yet; it’s inessential for reading this blog, but I wanted to include it because I would like to cultivate as many different possible viewpoints of scheme theory from the very start. There will be one more post running in this vein and then we will go back to doing actual geometry. However, this post will provide some more structure to the “functor of points” approach we have seen.

Essentially, when learning about the functor of points we saw that every scheme can be viewed as a set-valued presheaf on the opposite of the category of rings (i.e. just a functor from rings to sets, but this is a better viewpoint). But in fact this does not characterise schemes – not every presheaf on the opposite category of rings is the functor of points of a scheme (i.e. not every presheaf on the category of rings is representable). So in order to characterise schemes in this way we will need to find some further structure present. It turns out that with a suitable definition of a “topology” on the (opposite) category of rings – turning this category into something like a space – we will see that schemes are actually the sheaves on this category, which obey the “identity” and “glueing” axioms we looked at in one of the very first posts on this blog.

This post will consist of establishing the vocabulary of these so-called “Grothendieck (pre)topologies” on categories, and we will use these to define sheaves on categories in two ways. In an upcoming post we will use this to see the applicability to schemes, but this is going to be a purely category-theoretic post (and mostly taken from Johnstone’s lovely book Topos Theory). Feel free to skip!


Let \mathcal{C} be a (small – objects form a set) category with pullbacks. A Grothendieck pretopology P on \mathcal{C} is an assignment of a set P(U) to every object U\in\mathcal{C} where the elements of P(U) are sets of \mathcal{C}-morphisms

\left\{ U_i \xrightarrow{\alpha_i} U: i\in I\right\}

into U (called covering families) satisfying the following three axioms:

  1. For every U\in\mathcal{C}, the family \left\{\text{id}_U : U\rightarrow U\right\} \in P(U);
  2. If f: V\rightarrow U is a morphism in \mathcal{C} and \left\{ U_i \rightarrow U: i\in I\right\}\in P(U) then \left\{V\times_U U_i \xrightarrow{\pi_V} V: i\in I\right\}\in P(V);
  3. If \left\{ U_i \xrightarrow{\alpha_i} U : i\in I\right\} is an element of P(U) and \left\{V_{i j} \xrightarrow{\beta_{i j}} U_i : j\in J_i \right\} is an element of P(U_i) for each i\in I then the composition \left\{ V_{i j} \xrightarrow{\alpha_i \circ \beta_{i j}} U : i\in I, j\in J\right\} is an element of P(U).

Morally, these should be interpreted as follows: if U is any topological space then (1) U\xrightarrow{\text{id}} U is an open covering of U; (2) if you’re given an open covering U_i \hookrightarrow U of a space U and V is a subset of U then V \cap U_i \hookrightarrow V is an open covering of V; and (3) if you’re given an open covering U_i \hookrightarrow U and each of the open sets U_i has an open covering V_{i j} \hookrightarrow U_i then the collection of all the V_{i j} also covers U.

As a concrete example, let X be a topological space and let \text{Op}(X) be the poset category of all its open subsets, ordered by inclusion (we saw this in this post). The pretopology on this category is just the set of open covers of each open set i.e. a covering family for U is just a set of inclusions U_i \hookrightarrow U such that the union of all the U_i equals U.

Grothendieck pretopologies already give us enough “local” information in our categories to define a suitable notion of a sheaf on the category. Recall we could define a presheaf on any category as simply a contravariant functor, but in order to define a sheaf we needed to be able to talk about covers, and this is exactly what a pretopology lets us do. With this in mind we say that a presheaf F on a category \mathcal{C} (taking values in sets) is a sheaf if for every covering family \left\{ U_i \rightarrow U: i\in I\right\}\in P(U) the diagram

F(U) \rightarrow \prod_{i\in I} F(U_i) \rightrightarrows \prod_{i,j\in I} F(U_i \times_U U_j)

is an equaliser. Here the first map is the universal map into the product induced by the restrictions F(U)\rightarrow F(U_i) for every morphism U_i \rightarrow U in the covering family. The top and bottom second maps are constructed as follows: let

\pi_i : \prod_{i\in I} F(U_i) \rightarrow F(U_i)

be the canonical projections. For each j\in I we have a restriction map

\rho^i_{i j } : F(U_i)\rightarrow F(U_i \times_U U_j)

Therefore the compositions \rho^i_{i j} \circ \pi_i induce a universal morphism \prod_{i\in I} F(U_i) \rightarrow \prod_{i,j} F(U_i \times_U U_j). This is the first of the two maps. The second follows by first restricting to U_j and then repeating the procedure. In general these will give different morphisms, but must agree when precomposed with the morphism from F(U) if F is a sheaf.

We will use this definition of a sheaf sometimes because it is more closely related to what we have already seen. However it is a slightly vague definition; to see what I mean, suppose that F satisfies this condition for a covering family R = \left\{U_i \rightarrow U: i\in I\right\}\in J(U). Then if S is another family of covers containing R, F will also satisfy the sheaf condition with respect to S. This means that two possibly different pretopologies can give rise to exactly the same sheaves.

This is a far-reaching quasi-generalisation of the fact that two different metrics on a space can induce exactly the same topology (the metrics then being called equivalent) and therefore the sheaves on these spaces (in the usual sense we defined here) will be exactly the same. Given that sheaves are more of  a “topological” object and not a “metric” object, it might make sense to get to the root of this and define actual “topologies” on our categories rather than “metrics” (bear in mind this is a very loose analogy!). So we might want to consider covering families which are somehow “maximal”, and this is what the notion of a “sieve” encapsulates. Following this, we can also dispense with the assumption that our category \mathcal{C} has pullbacks; the drawback is that the notion of a sheaf becomes significantly more abstract.


Let P be a Grothendieck pretopology on a category \mathcal{C}, and let U\in\mathcal{C} be an object. We say the set R\in P(U) is a sieve on U if

\left(V\xrightarrow{\alpha} U\right)\in R \implies \left(W\xrightarrow{\beta} V\xrightarrow{\alpha} U\right)\in R

for every morphism \beta: W\rightarrow V.

Definition: Let \mathcal{C} be a small category. A Grothendieck topology J on \mathcal{C} is a set J(U) of sieves on every object U\in\mathcal{C} (called covering sieves) such that

  1. The maximal sieve \bigcup_{A\in\mathcal{C}} \mathcal{C}(A,U) is an element of J(U);
  2. If R\in J(U) and f: V\rightarrow U is a morphism in \mathcal{C} then the pullback sieve f^* (R) = \left\{W\xrightarrow{\alpha} V : f\circ \alpha \in R \right\} is an element of J(V);
  3. If R\in J(U) and S is some sieve on U such that for every morphism (V\xrightarrow{f} U)\in R we have f^* (S)\in J(V) then S\in J(U).

A category equipped with a (Grothendieck) topology is called a site. This definition implies some important things:

Let R\in J(U) and let S be a sieve on U containing R i.e. every morphism in R is in S. Pick a morphism f: V\rightarrow U in R; then if \alpha: W\rightarrow V is is any morphism in f^* (S), the fact that R is a sieve implies that (W\xrightarrow{\alpha} V \xrightarrow{f} U)\in R, and therefore (W\xrightarrow{\alpha} V)\in f^* (R). But this shows that f^* (S)\subseteq f^* (R). Conversely it is clear that f^* (R)\subseteq f^* (S) from the definitions; therefore f^* (S) = f^* (R)\in J(V). By axiom 3, it follows that S\in J(U).

Note that every Grothendieck pretopology J induces a Grothendieck topology J' as follows: for each covering family R\in J(U), the collection J'(U) of sieves S on U containing R is a Grothendieck topology (check the axioms!). This is in some way (maybe) like how a metric induces a topology on a space, and in some sense this makes topologies more general.

The real benefit of using sieves instead of covering families is that we can drop the assumption about the base category having pullbacks. The reason is that we can always pull a sieve back along a morphism even if we cannot do this for the individual morphisms in the sieve. To see why this works, let R be a sieve on an object U\in\mathcal{C} and let

h_U = \mathcal{C}(-, U)

be the representable presheaf on \mathcal{C} induced by U. Let

\hat{R}: \mathcal{C}^\text{op} \rightarrow \text{Set}

be the presheaf V\mapsto \left\{\alpha \in R : \text{domain}(\alpha) = V\right\}. Then \hat{R} is a presheaf on \mathcal{C} and is actually a subpresheaf of the representable presheaf h_U. This means that in the functor category [\mathcal{C}^\text{op}, \text{Set}] \hat{R} is a subobject of h_U, but concretely it just means that for every V\in\mathcal{C}, \hat{R}(V) is a subset of h_U (V). Now the presheaf category [\mathcal{C}^\text{op}, \text{Set}] does have pullbacks (indeed, it has all limits and colimits and these are computed “pointwise”). By the Yoneda lemma we can think of \mathcal{C} as being fully and faithfully embedded in this presheaf category, so we can identify objects U with their representable presheaves h_U and sieves R with the presheaves \hat{R}. This explains why we can dispense with \mathcal{C} having pullbacks, because they are present in this larger category in which \mathcal{C} sits.

Sheaves on a site

A sheaf F on a site (\mathcal{C}, J) is then a presheaf on \mathcal{C} such that for every U\in\mathcal{C} and every covering sieve R\in J(U), every morphism

\hat{R}\rightarrow F

in [\mathcal{C}^\text{op}, \text{Set}] has exactly one extension to a morphism

h_U \rightarrow F

Ouch! How abstract can you get???

But there’s a nice way to decode this to see it really isn’t too different to what we already have. Recall that by the Yoneda Lemma, natural transformations h_U \rightarrow F correspond bijectively to elements of the set F(U). Now, a natural transformation \eta:\hat{R}\rightarrow F consists of a function \eta_V: \hat{R}(V)\rightarrow F(V) for every object V\in\mathcal{C} that is compatible with morphisms f: W\rightarrow V i.e. we get the usual naturality squares for every morphism.

If V is not the domain of any of the morphisms in the sieve R then \hat{R}(V)=\varnothing. In this case the function \eta_V is the unique “empty function”. If not, \eta_V produces an element s_\alpha of F(V) for every element \alpha\in\hat{R}(V). Furthermore, if f: W\rightarrow V is a morphism then since R is a sieve, \hat{R}(W) is nonempty and we obtain elements

\hat{f}(\alpha) = \alpha\circ f\in \hat{R}(W)

for each \alpha\in\hat{R}(V). Mapping these into F(W) via \eta_W we see that F(f) (s_\alpha) equals s_{\hat{f}(\alpha)}.

Therefore a morphism \eta: \hat{R}\rightarrow F amounts to specifying a collection of “sections” s_\alpha in every F(V) for each V arising as a domain of one of the elements in R which are “compatible” in the sense that the “restriction maps” F(V)\rightarrow F(W) induced by morphisms W\rightarrow V take sections to sections. By the definition above, F being a sheaf means there is a unique natural transformation h_U \rightarrow F extending \eta. But since this corresponds bijectively to an element of F(U), this means there is a unique section s\in F(U) such that the “restriction” of s to each V (by which I mean the map F(U)\rightarrow F(V) induced by some \alpha\in \hat{R}(V)) equals s_\alpha. And this looks a lot more like our definition of a sheaf we originally gave!

Here are some final notes for this post:

  1. In the last paragraph we saw how unique “sections” s\in F(U) can be glued up uniquely from smaller sections s_\alpha when F is a sheaf. The crucial difference (which confused me for a while) is that whereas in the topological case there was always at most one map V\hookrightarrow U (corresponding to the inclusion of an open subset), this time there may be many different ways to “restrict a section”; in fact we can do this along each of the different morphisms \alpha\in\hat{R}(V). So in F(V) there may be many different sections s_\alpha, s_\beta, \dots $ all being “restrictions” of the same “global section” s; this is fine, just noting that they have been “restricted” in different ways.
  2. Sometimes it is more useful to work with a topology and other times a pretopology may be better suited. I get the feeling from reading the experts that pretopologies may be more suitable for actually computing things, whereas topologies and sites are more elegant, but really I’m not sure. I’m only beginning to get my head around these things.

Finally, in one of the next few posts I will attempt to use these gadgets to show how every scheme, as we’ve defined them, can also be defined as a sheaf on the Zariski site.


I wasn’t entirely satisfied with my closing remarks in my last post; in particular I don’t think I explained the term “functor of points” well in an arithmetic context. Luckily I just read something in Liu’s book which completely cleared this up for me!

We’re going to need to define these S-schemes that I alluded to last time; these are basically just schemes over a fixed scheme S. Formally, if S is a scheme then an S-scheme is a morphism of schemes

\pi: X\rightarrow S

(called the “structural morphism”) and a morphism of S-schemes

f: (\pi: X\rightarrow S)\rightarrow (\rho: Y\rightarrow S)

is just a morphism of schemes f: X\rightarrow Y such that \rho \circ f = \pi. Thus if we denote the category of schemes by \text{Sch} then the category of S-schemes, or schemes over S, is just the slice category \text{Sch}/S. So this category encodes all the information about morphisms into a fixed scheme S. If S = \text{Spec}(R) for some ring R then we call \text{Sch}/S the category of schemes over R or R-schemes.

Note that the category of \mathbb{Z}-schemes is equivalent to the general category of schemes; this is because \mathbb Z is the initial object in the category of rings, and by the adjunction isomorphism

\text{Mor}(X,\text{Spec}(\mathbb{Z})) \cong \text{Hom}(\mathbb{Z}, \mathcal{O}_X (X))

we know \text{Spec}(\mathbb{Z}) is the terminal object in the category of schemes. Taking slice categories over terminal objects yields an equivalent category.

Definition: If \pi: X\rightarrow S is an S-scheme then a section of X is a morphism of S-schemes \sigma: S\rightarrow X; if you unpack this, you get the usual notion of a “section” of \pi i.e. a morphism \sigma: S\rightarrow X such that

\phi \circ \sigma = \text{id}_S

The set of sections of X is denoted X(S). If S = \text{Spec}(A) for some ring A then we write X(A) for the set of sections of X.

It’s easy to see by the bijections between morphisms of schemes and morphisms of rings (in the opposite directions) that equipping X with the structure of a scheme over a ring A is the same as giving a sheaf of A-algebras on X. Now let’s see how this helps us understand “rational points” as in the functor of points approach. We have the following nice identification:

Theorem: Let (X, \pi) be a scheme over a field K (i.e. a \text{Spec}(K)-scheme). Then there is a bijection

X(K) \cong \left\{x\in X: k(x) = K\right\}

where k(x) = \mathcal{O}_{X,x}/\mathfrak{m}_x denotes the residue field at x.

Proof: Pick a section \sigma \in X(K), so \sigma is a morphism of schemes \text{Spec}(K)\rightarrow X with \pi \circ \sigma = \text{id}_\text{Spec}(K). Let \sigma^\# : \mathcal{O}_X \rightarrow K denote the morphism of structure sheaves, and let x be the image of the unique point in \text{Spec}(K) under \sigma. Then the stalk homomorphism

\sigma_x^\#: \mathcal{O}_{X,x} \rightarrow K

induces a field homomorphism

\mathcal{O}_{X,x}/\mathfrak{m}_x = k(x) \rightarrow K

because \sigma_x^\# (\mathfrak{m}_x) = \left\{0\right\} since every homomorphism takes units to units. Now k(x) is a K-algebra i.e. there is a field homomorphism K\rightarrow k(x); therefore since field homomorphisms are injective it follows that k(x) = K.

Conversely, suppose that x\in X satisfies k(x) = K. Then the natural map

\mathcal{O}_{X,x}\rightarrow k(x)

induces a morphism of schemes

\text{Spec}(k(x))\rightarrow \text{Spec}(\mathcal{O}_{X,x})

Now take an open set U\subseteq X containing x. The canonical inclusion homomorphism into the colimit \mathcal{O}_X (U)\rightarrow \mathcal{O}_{X,x} induces a morphism of schemes

\text{Spec}(\mathcal{O}_{X,x})\rightarrow \text{Spec}(\mathcal{O}_X (U)) = U

Composing this with the open immersion U\hookrightarrow X gives a morphism \mathcal{O}_{X,x}\rightarrow X. Then the composition of all these maps:

\text{Spec}(k(x)) \rightarrow \text{Spec}(\mathcal{O}_{X,x}) \rightarrow X

sends the unique point of \text{Spec}(k(x)) to x, and thus since k(x) = K we get a unique section \sigma: \text{Spec}(K)\rightarrow X i.e. an element \sigma \in X(K). Both of these constructions can be seen to be mutually inverse to one another. This concludes the proof.

Nice! So here’s another way to think about rational points on a variety – say X is a variety over a field K and x\in X is a point. Then adjoining the coordinates of x to K produces a new field K(x), and K(x) = K precisely when x is a K-rational point. Since adjoining the coordinates of x to K is the same as specifying the residue field at x, this links everything together.

So we should think of rational points on a variety over a field K as sections \text{Spec}(K)\rightarrow X, or as points whose residue field is equal to K. In terms of the functor of points approach, therefore, the functor h_X restricts to the subcategory of fields in the category of rings in several different ways:

h_X (K) = \left\{ K\text{-points of } X \right\}

= \left\{\text{sections } \text{Spec}(K)\rightarrow X \right\}

= \text{Mor}(\text{Spec}(K), X)

Schemes really are mysterious objects; in one form they manifest themselves as locally ringed spaces as we’ve defined them. But they also appear naturally as set-valued functors on the category of rings. There is actually an intuitive explanation of this fact, and in Diophantine geometry this method of viewing schemes is sometimes very helpful. This might motivate what’s going on:

Let A be a ring and let X = \text{Spec}(A); consider the polynomial f=x^2 + 1\in A[x]; for a ring B let X(B) denote the set of roots \alpha\in B to f. We call X(B) the set of “B-points of X“. For example, say A = \mathbb Z. Then X(\mathbb {R}) = \varnothing but X(\mathbb{C}) = \left\{i, -i\right\}, X(\mathbb{F}_2) = \left\{1\right\} and if p \equiv 1 \pmod{4} then X(\mathbb{F}_p) has two points. So applying X to a ring takes the ring to the set of points of a variety over that ring.

The “functor of points” approach says that we should think of each of these varieties X(R) as being “part of the scheme X“, and the scheme X itself is built from the collections of all its R-points X(R) as R ranges over every ring. Alternatively, a scheme really is a “protocol” assigning to each ring the set of solutions to an equation. This is intuitively why we have to define a variety over a field but schemes in general are not dependent on some ground field or ring (although there is a notion of an S-scheme which is the relative version analogous to varieties over a field which I need to introduce sometime), and this explains why we can chop, change and glue schemes easily, unlike for varieties.

Now viewing a scheme as the variety cut out by a polynomial over every possible ring gives us a lot more information about a polynomial f than just considering its roots in any one ring. For example, there are many curves over the complex numbers all having only one “rational point” i.e. a point in X(\mathbb{Q}); but these curves may be fundamentally different – for example, they may have different point structures over number fields i.e. the sets X(K) and X(L) may be different for different number fields K and L. So the overall schemes associated to the curve differ in their points coming from certain rings but not others. Considering just their R-points which agree for a certain R loses lots of information about the overall schemes.

As a concrete example, let consider the two curves C_1 and C_2 given respectively by the equations

C_1: y^2 = x^3 + 7

C_2: y^2 = x^3 - 2

It is a theorem of Lebesque that there are no integer points on C_1 (i.e. points (x,y), both integers, satisfying the equation for C_1), while Fermat proved that C_2 has precisely two integer points, namely (x,y) = (3,5), (3,-5). The curves C_1 and C_2 are both examples of “elliptic curves” (which we will see lots more of), and over \mathbb C they are both topologically just tori. So there is a bijection C_1 (\mathbb{C}) \cong C_2 (\mathbb{C}), while C_1 (\mathbb{Z}) = \varnothing and C_2 (\mathbb{Z}) has two points. If we only took the \mathbb{C}-points of C_1 and C_2 into account, we might think they were isomorphic, but considering their collections of all their points shows us they are not.

But there’s more than this: let f now be a polynomial in n variables (we can naturally also consider collections of polynomials). If \phi: R\rightarrow S is a ring homomorphism then we get a natural function

\phi_* : X(R)\rightarrow X(S)

given by

(a_1, \dots, a_n) \mapsto (\phi(a_1), \dots, \phi(a_n))

In this case we see that X is a functor from the category of commutative rings to sets. In fact, we will now see that X is representable i.e. it is naturally isomorphic to a functor of the form \text{Hom}(C,-) where C is some ring. Let’s set everything up in generality:

Theorem: Let A be a ring and let g_1, \dots, g_m be polynomials in A[x_1, \dots , x_n]. Let I be the ideal generated by g_1, \dots, g_m and set

X = \text{Spec}\left(A[x_1, \dots, x_n]/I\right)

Let h_X be the functor from the category of commutative rings to sets

h_X(R) = \left\{P \in R^n: h(P) = 0 \text{ for all } h\in I\right\}

Then h_X is naturally isomorphic to the functor

\text{Hom}(A[x_1, \dots, x_n]/I, -)\cong\text{Mor}(\text{Spec}(-), X)

Proof: We will prove naturality first and then that this is an isomorphism. Let R be a ring and take P\in h_X (R). Then the homomorphism “evaluate at P

e_P : A[x_1, \dots, x_n]/I \rightarrow R, h+I \mapsto h(P)

is well-defined. This gives a function

f_R : X(R)\rightarrow \text{Hom}(A[x_1, \dots, x_n]/I, R), P\mapsto e_P

If \phi: R\rightarrow S is a ring homomorphism, it is easy to see that

\phi \circ e_P = e_{\phi_* (P)}

This establishes naturality. Now suppose that we are given a ring homomorphism \psi: A[x_1, \dots, x_n]/I\rightarrow R; then this ring homomorphism is determined by where it sends A and each monomial x_i. Thus choosing P = (a_1, \dots, a_n)\in R^n so that \psi(x_i) = a_i is well-defined provided that \psi(g_j)(P) = 0 for each j i.e. P\in X(R). So let us define

q_R : \text{Hom}(A[x_1, \dots, x_n]/I, R)\rightarrow X(R)

\psi \mapsto P = (\psi(x_1 + I), \dots, \psi(x_n +I))

Then it is easy to see that q_R = f_R^{-1}, so every component of the natural transformation is a bijection and therefore it is a natural isomorphism. The isomorphism with \text{Mor}(-,X) follows from the big theorem in this post. Therefore we see that the functor assigning to an affine scheme X its collections of R-points for each ring R  is the same as the (contravariant) “codomain functor” assiging to X the collections of morphisms from affine schemes into X.

Here’s how this connects to general schemes; let X now be an arbitrary scheme. Then we know the functor

\text{Mor}(\text{Spec}(-), X): \text{CRing}\rightarrow \text{Set}

is isomorphic to the functor h_X sending each ring R to the set of R-points of X. The Yoneda embedding is full and faithful; this means that the functor X\mapsto h_X on the category of schemes “embeds” the category of schemes into the larger category of functors \text{CRing}\rightarrow\text{Set} i.e. the category of presheaves on the category of affine schemes. What this really tells us is that two schemes X and Y can be distinguished by knowing all their different R-points X(R) and Y(R) as R varies over all rings i.e. the morphisms from all affine schemes into an arbitrary scheme determine that scheme up to isomorphism.

Therefore we can “redefine” what a scheme is: it is (roughly) a presheaf on the opposite category of rings i.e. a functor from the category of rings to sets. More specifically we need to equip the category of commutative rings with something called a Grothendieck topology to turn it into a site (the Zariski site) which is basically a way of turning a category into a “space”; then every scheme is actually a sheaf on the Zariski site. I will explore this idea more next time.

You might want to look at this fantastic post on Neverendingbooks for an example of viewing \text{Spec}(\mathbb{Z}[x]) through its functor of points. For now, I will just give a couple of quick examples of the functor of points:

Let X = \text{Spec}(\mathbb{Z}[x]) be the “arithmetic plane” scheme; then for every ring R, the set of R-points of X is

h_X (R) \cong \text{Mor}(\text{Spec}(R), X) \cong \text{Hom}(\mathbb{Z}[x], R)

Now a ring morphism \mathbb{Z}[x]\rightarrow R is determined by what happens to \mathbb{Z} and what happens to x. Since \mathbb Z is the initial object in the category of rings, it follows that every morphism \mathbb{Z}[x]\rightarrow R is determined by where x is sent alone. Since we can “evaluate” a polynomial f\in \mathbb{Z}[x] at any element of R, it follows that h_X (R) is isomorphic to the underlying point set of the ring R i.e. h_X is just the forgetful functor from the category of rings to sets. It is interesting to note that the forgetful functor is representable, and the linked blog post above tells us that this does give us interesting information about X.

What about when X = \text{Spec}(\mathbb{Z})? Then h_X (R) \cong \text{Hom}(\mathbb{Z}, R). Since \mathbb{Z} is the initial object, each of these is a one-element set and all such sets are therefore isomorphic. Hence h_X is the functor mapping every ring to a terminal object in the category of sets i.e. a one-point set. So this functor is also representable! Translating this to schemes, it means every affine scheme Y as exactly one morphism to X i.e. there is exactly one Y-point of X for every affine scheme Y.

Finally, a note about the name “functor of points”; in arithmetic geometry, we’re often interested in the rational points on a variety/scheme X i.e. the K-points X(K), where K is some (not necessarily algebraically closed) field. We’ve seen these correspond to the scheme morphisms

\text{Spec}(K)\rightarrow X

and since \text{Spec}(K) is just a single closed point, we can think of these morphisms as the actual points on the scheme X (as a locally ringed space) that “look like” \text{Spec}(K) i.e. points where the restriction of the structure sheaf becomes isomorphic to K. These we can think of as points having coordinates valued in the field K, and recover the usual definition of K-points this way. The kicker is that we can do this for other rings R that are not fields, which correspond to “points” of X that “look like” \text{Spec}(R), and structurally are subsets of the scheme. Doing this for every single ring R splits up the scheme into a (not necessarily disjoint) union of all its generalised “points”, along with the functorial data of how these fit together in terms of the ring morphisms. I’ve drawn a vague picture of how this works for the scheme

E = \text{Spec}\left(\mathbb{Z}[x,y]/(y^2 - x^3 + 2)\right)

corresponding to the elliptic curve C_2: y^2 = x^3 -2 above.