Resolution of Singularities in Characteristic Zero

2.2. The blow-up along an ideal sheaf🔗

Lean names in this section are shown relative to AlgebraicGeometry.Scheme.IdealSheafData, AlgebraicGeometry.Scheme, AlgebraicGeometry, CategoryTheory.

Every resolution and every principalization in this document is a finite succession of blow-ups \pi \colon \mathrm{Bl}_Z X \to X of a scheme X along a closed subscheme Z, the centre; Hironaka calls \pi the monoidal transformation with centre Z. The blow-up is characterised by a universal property: it is the least modification of X along which Z becomes a divisor (The universal property). Mathlib has schemes, Proj of a graded ring and gluing, but no blow-up. The library constructs the blow-up along an ideal sheaf I in the usual way: over an affine open U = \operatorname{Spec} R it is \operatorname{Proj} of the Rees algebra \bigoplus_n I(U)^n t^n, and these affine pieces are glued over the affine opens of X [TSPA, Tag 01OF]; [Hau14, Definition 4.4]; [Kol07, Notation 19]. The construction lives in the namespaces AlgebraicGeometry and AlgebraicGeometry.Scheme.IdealSheafData, and the statements use it directly: the monoidal transformation with centre D is the blow-up D.blowUp (Definition 2.2.2.2).

The chapter follows the construction: the grading on the Rees algebra, the affine blow-up, the gluing, the universal property and its consequences, the transforms of an ideal sheaf along a blow-up, and the remaining names of the statements for a single blow-up. It ends with a worked example, the resolution of the cusp by blow-ups of points (Example: resolving the cusp).

2.2.1. The Rees algebra and the affine blow-up🔗

For an ideal I of a ring R, the Rees algebra R[It] = \bigoplus_{n \geq 0} I^n t^n, a subring of R[t], is graded by the power of t, with R in degree zero; for I = 0 it is R, and for I = R it is R[t].

For a graded ring A = \bigoplus_{n \geq 0} A_n, the scheme \operatorname{Proj} A has as points the homogeneous prime ideals not containing the irrelevant ideal A_+ = \bigoplus_{n > 0} A_n. It is covered by the charts D_+(f) = \operatorname{Spec}(A_f)_0 for homogeneous f of positive degree, where (A_f)_0 is the degree-zero part of the localisation, and the inclusion A_0 \to (A_f)_0 makes it a scheme over \operatorname{Spec} A_0. The blow-up of \operatorname{Spec} R along V(I) is \operatorname{Proj} R[It], over \operatorname{Spec} R through the degree-zero piece. If I = (f_1, \dots, f_m), it is covered by the charts D_+(f_i t) = \operatorname{Spec} R[I / f_i], where R[I/f_i] is the subring of R_{f_i} generated by the fractions f_j / f_i (when f_i is a non-zero-divisor). In such a chart the inverse image of V(I) is generated by the single element f_i, because f_j = (f_j / f_i) f_i: the inverse image of the centre is a divisor, visibly. For R = k[x, y] and I = (x, y) the charts are k[x, y/x] and k[x/y, y], the two charts of the plane blown up at the origin: with v = y/x and u = x/y the blow-up map is (x, v) \mapsto (x, xv) on the first and (u, y) \mapsto (uy, y) on the second, and the exceptional divisor is x = 0 in the first. Geometrically, when V(I) is nowhere dense, \operatorname{Proj} R[It] is the closure in \operatorname{Spec} R \times \mathbb{P}^{m-1} of the graph of x \mapsto [f_1(x) : \dots : f_m(x)], defined off V(I); over a point of V(I) it records the limiting directions of approach. For I = 0 the irrelevant ideal is zero, every prime contains it, and \operatorname{Proj} is empty.

Definition2.2.1.1source[Hau14, Definition 4.6] ↗
uses 0used by 1✓L∃∀N

Mathlib's reesAlgebra I is the subalgebra \bigoplus_n I^n t^n of R[t]. The library equips it with its grading: the n-th piece reesAlgebra.grading I n consists of the monomials c\, t^n with c \in I^n. The pieces multiply correctly (gradedMonoid) and span the algebra as an internal direct sum (isInternal_grading), which makes it a graded algebra (gradedAlgebra), the input Proj needs. The degree-zero piece is R itself (gradingZeroEquiv, with algebraMap_mem_grading_zero).

A ring map \varphi \colon R \to S with \varphi(I) \subseteq J induces a graded map of Rees algebras (mapOfLe); when J = I S the irrelevant ideal of the target lies in the image of that of the source (irrelevant_le_map_mapOfEq), which is the hypothesis under which Proj is functorial.

Lean code for Definition2.2.1.1●4 definitions
Definition2.2.1.2source[Hau14, Definition 4.7] ↗
uses 0used by 1✓L∃∀N

The affine blow-up of \operatorname{Spec} R along an ideal I is affineBlowUp I, \operatorname{Proj} of the graded Rees algebra, with the blow-up map affineBlowUp.π I to \operatorname{Spec} R induced by R \cong (\operatorname{Rees} I)_0. A ring map \varphi with \varphi(I) S = J induces a morphism affineBlowUp J ⟶ affineBlowUp I (mapOfEq, and mapHom for a morphism of CommRingCat), lying over \operatorname{Spec} \varphi; for the restriction to a smaller affine open these are the transition maps of the gluing. The equality \varphi(I) S = J, and not just an inclusion, is what makes the induced map of \operatorname{Proj}s defined everywhere: the image of the irrelevant ideal of R[It] must generate that of S[Jt] up to radical.

Lean code for Definition2.2.1.2●4 definitions

2.2.2. Gluing the affine blow-ups🔗

For a general scheme X and ideal sheaf \mathcal{I}, the blow-up is \operatorname{Proj}_X \bigoplus_n \mathcal{I}^n, obtained by gluing the affine blow-ups of \operatorname{Spec} \Gamma(X, U) along \mathcal{I}(U) over the affine opens U of X with the relative gluing lemma [TSPA, Tag 01LH], in Mathlib's form Scheme.Cover.RelativeGluingData. The lemma asks that for U \subseteq V the piece over U be the preimage of U in the piece over V (the natural transformation to the affine cover is equifibered, Mathlib's NatTrans.Equifibered); for blow-ups this holds because blowing up commutes with restriction to open subsets, a case of the flat pull-back of blow-ups (The universal property).

Definition2.2.2.1source[Sta, Tag 01LH] ↗
uses 0used by 1✓L∃∀N

The affine blow-ups over the affine opens of X form a functor on the poset of affine opens, affineBlowUpFunctor I, U \mapsto affineBlowUp (I.ideal U), with a natural transformation affineBlowUpNatTrans I to the diagram of the directed affine cover of X. Its naturality squares are pullbacks (affineBlowUpNatTrans_equifibered): the blow-up of a smaller affine open is the restriction of the blow-up of a larger one. Given this, Mathlib's relative gluing along the directed affine cover (relativeGluingDataOf) produces a scheme over X, blowUpOf I h with map blowUpOf.π. The lemma affineOpens_isAffineOpen restates the affineness of an affine open in the syntactic form the gluing lemmas need.

Lean code for Definition2.2.2.1●5 definitions
Definition2.2.2.2source[Sta, Tag 01OF] ↗
uses 0
Used by 7
Reverse dependency previews
Preview
Definition 2.2.3.1
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

The blow-up of X along I is I.blowUp, the glued scheme blowUpOf I applied to the pullback property of the squares, with the blow-up map I.blowUpπ : I.blowUp ⟶ X [TSPA, Tag 01OF]; [Hau14, Definition 4.4]; [Kol07, Notation 19].

These are the names the statements use: the monoidal transformation of X with centre the closed subscheme of ideal sheaf D is D.blowUp, with projection D.blowUpπ (Hironaka's f) [Hir64, Ch. 0, §2].

Lean code for Definition2.2.2.2●2 definitions

2.2.3. The universal property🔗

A morphism f \colon Y \to X is admissible for Z if the inverse image f^{-1}(Z) is an effective Cartier divisor on Y: its ideal sheaf f^{-1}\mathcal{I}_Z \cdot \mathcal{O}_Y is invertible, locally generated by one non-zero-divisor (Definition 2.1.4.1). The blow-up \pi \colon \mathrm{Bl}_Z X \to X is admissible for Z and terminal among admissible morphisms: every admissible f factors as f = \pi \circ \tilde f for a unique \tilde f \colon Y \to \mathrm{Bl}_Z X [TSPA, Tag 0806]; it is Kollár's B_Z X [Kol07, Notation 19]. Being so characterised, it is unique up to unique isomorphism over X, and the following facts, which the statements rely on, follow.

  • If Z is already a Cartier divisor, \pi is an isomorphism. In particular the blow-up with empty centre (\mathcal{I}_Z = \mathcal{O}_X, the ideal sheaf ⊤) changes nothing, and \pi is an isomorphism over X \setminus Z.

  • Blow-ups pull back. For h \colon Y \to X the blow-up of Y along h^{-1}(Z) maps to \mathrm{Bl}_Z X over h, and when h is flat (an open immersion, or a smooth morphism) the square is cartesian, \mathrm{Bl}_{h^{-1}Z} Y = \mathrm{Bl}_Z X \times_X Y [TSPA, Tag 0805]. This is the step behind the pull-back of a succession of blow-ups (Definition 2.4.3.1), and so behind the compatibility of the functorial theorems with smooth morphisms (Definition 4.2.4.3).

  • Blowing up a whole component deletes it. If Z contains an irreducible component of a reduced X, then \mathcal{I}_Z vanishes there and \mathrm{Bl}_Z X has nothing over that component. Main Theorem II uses this in a degenerate case (Theorem 4.2.1.2).

  • Smooth centre in smooth ambient. If X is smooth and Z is smooth of codimension c \geq 2, then \mathrm{Bl}_Z X is smooth and E = \pi^{-1}(Z) \to Z is the bundle of projective spaces \mathbb{P}^{c-1} of normal directions \mathbb{P}(N_{Z/X}). The principalization theorems blow up only such centres, and assert this of their successions (Definition 4.2.1.1, Definition 4.2.4.2); a resolution of a singular X is read off from such a succession by restriction to the strict transforms of X, whose centres need not be smooth [Kol07, Warning 23].

The centre is a subscheme, not a set. The blow-up depends on the ideal, not only on its zero set. Blowing up the plane along (x, y) gives a smooth surface. Blowing it up along (x^2, y), which has the same zero set, gives a surface with a chart \operatorname{Spec} k[x, y, u]/(yu - x^2), which is singular. This is why the library takes the centre as an ideal sheaf, D : X.IdealSheafData, and why "the centre is smooth" is a condition on the subscheme.

Definition2.2.3.1source[Sta, Tag 0806] ↗
Statement uses 2
Statement dependency previews
Preview
Definition 2.1.4.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

A morphism f \colon Y \to X along which the inverse image of I is invertible lifts through the blow-up (blowUp.exists_lift, [TSPA, Tag 0806]; [Hau14, Theorem 4.18 (a)]); blowUp.lift is a lift, chosen from this existence statement. In particular, when I itself is invertible the blow-up map is an isomorphism, its inverse being the lift of the identity (blowUp.isIso_π_of_isInvertible, [Kol07, Warning 20]); this covers the empty centre I = \top.

For h \colon Y \to X, the composite of the blow-up map of Y along h^{-1}(D) with h pulls D back to an invertible ideal (isInvertible_comap_π_comp), so it lifts to the morphism of blow-ups Scheme.Hom.blowUpMap h D : (D.comap h).blowUp ⟶ D.blowUp over h [Kol07, Definition 30, 30.1]; [TSPA, Tag 0805]. This is how successions of blow-ups are pulled back along morphisms (Definition 2.4.3.1).

Lean code for Definition2.2.3.1●2 definitions

2.2.4. Transforms along a blow-up🔗

Definition2.2.4.1source[Hau14, Definitions 6.2 and 6.8] ↗
uses 0used by 1✓L∃∀N

For a morphism \pi \colon B \to X, an ideal sheaf E on B (the exceptional divisor, in the application) and an ideal sheaf J on X with total transform J^* = \pi^{-1}(J):

The weak transform divides by one exponent for the whole exceptional divisor. For an irreducible non-singular centre this is Hironaka's weak transform, the exponent being the order of J along the centre; see Definition 2.2.5.2 for the convention for a disconnected centre.

Lean code for Definition2.2.4.1●6 definitions

2.2.5. The exceptional divisor and the push-forward of a blow-up🔗

Definition2.2.5.1source[Hir64, Ch. 0, §2] ↗
uses 1
Used by 2
Reverse dependency previews
Preview
Definition 2.2.5.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Along the monoidal transformation D.blowUp (Definition 2.2.2.2), D.exceptionalDivisor is the inverse image ideal sheaf f^{-1}(D) of the centre on the blow-up. For a closed immersion j \colon Y \to X and a centre Z \subseteq Y, j.pushforwardBlowUp Z : Z.blowUp ⟶ (Z.map j).blowUp is the induced closed immersion onto the strict transform of Y, the blow-up of X along j_* Z [Kol07, Definition 30, 30.2 and 30.3], a closed immersion by the instance Scheme.instIsClosedImmersionPushforwardBlowUp.

Lean code for Definition2.2.5.1●2 definitions
Definition2.2.5.2source[Hir64, Ch. 0, §5, p. 142] ↗
uses 1used by 1✓L∃∀N

Along the monoidal transformation with centre D:

  • J.weakTransform D is Hironaka's weak transform of J: for D non-singular and irreducible, f^{-1}(J) is divisible by the m-th power of the ideal of f^{-1}(D), m the order of J at the generic point of D, and the weak transform is the quotient;

  • Y.strictTransform D is the strict (birational) transform of the closed subscheme Y [Hir64, Ch. 0, §2, pp. 129–130]; [Kol07, Definition 30, 30.2];

  • E.reducedTransform D is Hironaka's \mathrm{red}(f^{-1}(E) \cup f^{-1}(D)), the reduced closed subscheme of the blow-up on that set of points, the next boundary in Main Theorems II and II(N).

Lean code for Definition2.2.5.2●3 definitions

2.2.6. Example: resolving the cusp🔗

Take the cusp C = \{y^2 = x^3\} in the plane, singular at the origin, and blow up the plane at the origin. In the chart (x, v) \mapsto (x, xv) the equation becomes x^2 v^2 = x^3, that is, x^2 (v^2 - x) = 0. The factor x^2 is the exceptional divisor E_1 = \{x = 0\}, counted twice. What remains, x = v^2, is the strict transform C_1, the closure of the part of \pi^{-1}(C) lying off E_1: a parabola, which is smooth. In the other chart, (u, y) \mapsto (uy, y), the equation is y^2(1 - u^3 y) = 0 and C_1 does not meet E_1. Over \mathbb{C} the cusp is the image of t \mapsto (t^2, t^3), and C_1 is its smooth parametrising curve, with v = y/x = t.

The curve on its own. The strict transform of C is the blow-up of C itself at the point [TSPA, Tag 080E]. So C_1 \to C is a succession of one blow-up of C that is a strong resolution (Definition 4.2.6.2, Theorem 4.2.7.1): C_1 is smooth, the map is an isomorphism away from the cusp point, and the preimage of \operatorname{Sing} C = \{0\} is one point on a smooth curve, a simple normal crossings divisor. Whether Kollár's resolution functor assigns exactly this blow-up to C depends on his construction; the theorems assert only these properties.

Inside the plane. Viewed in the plane, C_1 is tangent to E_1 at the origin of the chart (the parabola x = v^2 touches the line x = 0), in the horizontal direction, the tangent line y = 0 of the cusp. Making the curve and all the exceptional curves cross normally takes two more blow-ups of points, each computed, like the first, in local coordinates centred at the point.

The embedded resolution of the cusp by three blow-ups of points

  1. Blow up the tangency point. In the chart x = vw the equation x^2(v^2 - x) becomes v^3 w^2 (v - w): the new exceptional curve E_2 = \{v = 0\} with multiplicity 3, the strict transform of E_1 as \{w = 0\} with multiplicity 2, and C_2 = \{v = w\}. The three curves meet transversally in pairs, but all three pass through one point, which is not normal crossings (Normal crossings).

  2. Blow up the triple point. In the chart w = vs the equation becomes v^6 s^2 (1 - s): the new curve E_3 = \{v = 0\} with multiplicity 6, the strict transform of E_1 at s = 0, C_3 at s = 1, and E_2 at s = \infty (in the other chart). The curves E_1, C_3, E_2 each cross E_3 transversally at distinct points, and none of them meet each other. The total transform 6E_3 + 3E_2 + 2E_1 + C_3 has simple normal crossings.

This embedded problem is the one the proofs solve. Kollár's proof embeds X in a smooth ambient space and principalizes the ideal of X (Theorem 4.2.4.6), making its pull-back the ideal of a simple normal crossings divisor, as v^6 s^2 (1 - s) is above; the resolution of X is read off from that succession, restricted to X and stopped at the right moment (the proof sketch after Theorem 4.2.6.3).