The Stacks project

54.1 Introduction

This chapter discusses resolution of singularities of surfaces following Lipman [Lipman] and mostly following the exposition of Artin in [Artin-Lipman]. The main result (Theorem 54.14.5) tells us that a Noetherian $2$-dimensional scheme $Y$ has a resolution of singularities when it has a finite normalization $Y^\nu \to Y$ with finitely many singular points $y_ i \in Y^\nu $ and for each $i$ the completion $\mathcal{O}_{Y^\nu , y_ i}^\wedge $ is normal.

To be sure, if $Y$ is a $2$-dimensional scheme of finite type over a quasi-excellent base ring $R$ (for example a field or a Dedekind domain with fraction field of characteristic $0$ such as $\mathbf{Z}$) then the normalization of $Y$ is finite, has finitely many singular points, and the completions of the local rings are normal. See the discussion in More on Algebra, Sections 15.47, 15.50, and 15.52 and More on Algebra, Lemma 15.42.2. Thus such a $Y$ has a resolution of singularities.

A rough outline of the proof is as follows. Let $A$ be a Noetherian local domain of dimension $2$. The steps of the proof are as follows

  1. replace $A$ by its normalization,

  2. prove Grauert-Riemenschneider,

  3. show there is a maximum $g$ of the lengths of $H^1(X, \mathcal{O}_ X)$ over all normal modifications $X \to \mathop{\mathrm{Spec}}(A)$ and reduce to the case $g = 0$,

  4. we say $A$ defines a rational singularity if $g = 0$ and in this case after a finite number of blowups we may assume $A$ is Gorenstein and $g = 0$,

  5. we say $A$ defines a rational double point if $g = 0$ and $A$ is Gorenstein and in this case we explicitly resolve singularities.

Each of these steps needs assumptions on the ring $A$. We will discuss each of these in turn.

Ad N: Here we need to assume that $A$ has a finite normalization (this is not automatic). Throughout most of the chapter we will assume that our scheme is Nagata if we need to know some normalization is finite. However, being Nagata is a slightly stronger condition than is given to us in the statement of the theorem. A solution to this (slight) problem would have been to use that our ring $A$ is formally unramified (i.e., its completion is reduced) and to use Lemma 54.11.5. However, the way our proof works, it turns out it is easier to use Lemma 54.11.6 to lift finiteness of the normalization over the completion to finiteness of the normalization over $A$.

Ad V: This is Proposition 54.7.8 and it roughly states that for a normal modification $f : X \to \mathop{\mathrm{Spec}}(A)$ one has $R^1f_*\omega _ X = 0$ where $\omega _ X$ is the dualizing module of $X/A$ (Remark 54.7.7). In fact, by duality the result is equivalent to a statement (Lemma 54.7.6) about the object $Rf_*\mathcal{O}_ X$ in the derived category $D(A)$. Having said this, the proof uses the standard fact that components of the special fibre have positive conormal sheaves (Lemma 54.7.4).

Ad B: This is in some sense the most subtle part of the proof. In the end we only need to use the output of this step when $A$ is a complete Noetherian local ring, although the writeup is a bit more general. The terminology is set in Definition 54.8.3. If $g$ (as defined above) is bounded, then a straightforward argument shows that we can find a normal modification $X \to \mathop{\mathrm{Spec}}(A)$ such that all singular points of $X$ are rational singularities, see Lemma 54.8.5. We show that given a finite extension $A \subset B$, then $g$ is bounded for $B$ if it is bounded for $A$ in the following two cases: (1) if the fraction field extension is separable, see Lemma 54.8.5 and (2) if the fraction field extension has degree $p$, the characteristic is $p$, and $A$ is regular and complete, see Lemma 54.8.10.

Ad R: Here we reduce the case $g = 0$ to the Gorenstein case. A marvellous fact, which makes everything work, is that the blowing up of a rational surface singularity is normal, see Lemma 54.9.4.

Ad D: The resolution of rational double points proceeds more or less by hand, see Section 54.12. A rational double point is a hypersurface singularity (this is true but we don't prove it as we don't need it). The local equation looks like

\[ a_{11} x_1^2 + a_{12} x_1x_2 + a_{13}x_1x_3 + a_{22} x_2^2 + a_{23} x_2x_3 + a_{33} x_3^2 = \sum a_{ijk} x_ ix_ jx_ k \]

Using that the quadratic part cannot be zero because the multiplicity is $2$ and remains $2$ after any blowup and the fact that every blowup is normal one quickly achieves a resolution. One twist is that we do not have an invariant which decreases every blowup, but we rely on the material on formal arcs from Section 54.10 to demonstrate that the process stops.

To put everything together some additional work has to be done. The main kink is that we want to lift a resolution of the completion $A^\wedge $ to a resolution of $\mathop{\mathrm{Spec}}(A)$. In order to do this we first show that if a resolution exists, then there is a resolution by normalized blowups (Lemma 54.14.3). A sequence of normalized blowups can be lifted from the completion by Lemma 54.11.7. We then use this even in the proof of resolution of complete local rings $A$ because our strategy works by induction on the degree of a finite inclusion $A_0 \subset A$ with $A_0$ regular, see Lemma 54.14.4. With a stronger result in B (such as is proved in Lipman's paper) this step could be avoided.


Comments (0)


Post a comment

Your email address will not be published. Required fields are marked.

In your comment you can use Markdown and LaTeX style mathematics (enclose it like $\pi$). A preview option is available if you wish to see how it works out (just click on the eye in the toolbar).

Unfortunately JavaScript is disabled in your browser, so the comment preview function will not work.

All contributions are licensed under the GNU Free Documentation License.




In order to prevent bots from posting comments, we would like you to prove that you are human. You can do this by filling in the name of the current tag in the following input field. As a reminder, this is tag 0ADX. Beware of the difference between the letter 'O' and the digit '0'.