§ Grokking Zariski


There's a lot written on the Zariski topology on the internet, but most of them lack explicit examples and pictures. This is my attempt to communicate what the Zariski topology looks like, from the perspectives that tickle my fancy (a wealth of concrete examples, topology-as-semi-decidability, and pictures).

§ The Zariski topology


Recall that the Zariski topology is defined by talking about what its closed sets are. The common zero sets of a family of polynomials are the closed sets of the Zariski topology. Formally, the topology (Rn,τ)(\mathbb R^n, \tau) has as closed sets:
{xRn:fiR[X1,X2,Xn],fi(x)=0} \{ x \in \mathbb R^n : \forall f_i \in \mathbb R[X_1, X_2, \dots X_n], f_i(x) = 0 \}

Open sets (the complement of closed sets) are of them form:
{xRn:fiR[X1,X2,Xn],fi(x)0}τ \{ x \in \mathbb R^n : \exists f_i \in \mathbb R[X_1, X_2, \dots X_n], f_i(x) \neq 0 \} \in \tau

The empty set is generated as {xRn:00}\{ x \in \mathbb R^n : 0 \neq 0 \} and the full set is generated as {xRn:10}\{ x \in \mathbb R^n : 1 \neq 0 \}.

§ Semi-decidability


Recall that in this view of topology, for a space (X,τ)(X, \tau), for every open set OτO \in \tau, we associate a turing machine TOT_O which semi-decides inclusion. That is, if a point is in OO then it halts with the output IN-SET. if the point is not in OO, TOT_O infinite loops. Formally:
xO    TO halts on input xx∉O    TO does not halts on input o \begin{aligned} x &&\in O \iff \text{$T_O$ halts on input $x$} \\ x &&\not \in O \iff \text{$T_O$ does not halts on input $o$} \end{aligned}

Alternatively, for a closed set CτC \in \tau, we associate a a turing machine TCT_C which semi-decides exclusion. That is, if a point is not in CC it halts with the output "NOT-IN-SET". If the point is in CC, the turing machine TCT_C infinite loops.
Now in the case of polynomials, we can write a function that semidecides exclusion from closed sets:
# return NOT-IN-SET of x is not a zero of the polynomial
def is_not_in_zeros(poly, x0):
  precision = 0 # start with zero precision
  while True:
    if poly(x0[:precision]) != 0: return NOT-IN-SET
    precision += 1 # up the precision

Since we can only evaluate a polynomial up to some finite precision, we start with zero precsion and then gradually get more precise. If some x0x0 is not a root of polypoly, then at some point, we will have that poly(x0)/neq0poly(x0) /neq 0. If x0x0 is indeed a root, then we will never halt this process; We will keep getting poly(x0[:precision]) = 0 for all levels of precision.

§ Spec(R)



§ Spec(Z)Spec(\mathbb Z) from this perspective


Since Z\mathbb Z is a PID, we can think of numbers instead of ideals. The above picture asks us to think of a number as a function from a prime to a reduced number. n(p)=n%pn(p) = n \% p. We then have that the closed sets are those primes which can zero out some number. That is:
V(I)={xSpec(Z):I(x)=0}V((n))={(p)Spec(Z):(n)/(p)=0}V((n))={(p)Spec(Z):(n)mod(p)=0} \begin{aligned} V(I) = \{ x \in Spec(\mathbb Z) : I(x) = 0 \} V((n)) = \{ (p) \in Spec(\mathbb Z) : (n)/(p) = 0 \} V((n)) = \{ (p) \in Spec(\mathbb Z) : (n) \mod (p) = 0 \} \end{aligned}

So in our minds eye, we need to imagine a space of prime ideals (points), which are testing with all ideals (polynomials). Given a set of prime ideals (a tentative locus, say a circle), the set of prime ideals is closed if it occurs as the zero of some collection of ideas (if the locus occurs as the zero of some collection of polynomials).

§ Nilpotents of a scheme





- So the scheme is stronger than Zariski, as it can tell the difference between these two situations. So we have a kind of "infinitesimal thickening" in the case of RgR_g. For more, check the math.se question: 'Geometric meaning of the nilradical'