Resolution of Singularities in Characteristic Zero

2.4. Successions of blow-ups and functors🔗

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

A resolution is in general not one blow-up with a non-singular centre but a finite succession of them. This chapter describes the library's successions of blow-ups of schemes (Kollár's blow-up sequences), the transforms of ideal sheaves and divisors along them, Kollár's divisor families and simple normal crossings, the operations of pulling back a succession, deleting its empty blow-ups and pushing it forward, and the blow-up sequence functors in which the functorial theorems are stated. What a main theorem asserts of its successions or of its functor, and the inputs particular to a functorial theorem, are stated with the theorem (Algebraic schemes). The declarations are in AlgebraicGeometry.Scheme (successions, divisor families) and AlgebraicGeometry (functors).

2.4.1. Finite successions of blow-ups🔗

A finite succession of blow-ups [Kol07, Definition 29] is a chain

X_r \xrightarrow{\ \pi_{r-1}\ } X_{r-1} \to \cdots \to X_1 \xrightarrow{\ \pi_0\ } X_0 = X, \qquad \pi_i \colon X_{i+1} = \mathrm{Bl}_{Z_i} X_i \to X_i,

with a centre Z_i \subseteq X_i chosen at each stage. The centres are part of the data: two successions with the same composite but different centres are different successions.

Definition2.4.1.1source[Kol07, Definition 29] ↗
uses 0
Used by 21
Reverse dependency previews
Preview
Definition 2.4.1.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

A BlowUpSequence X is a finite succession of monoidal transformations starting at X, defined inductively: nil X is the empty succession, and cons X D S' is the blow-up of X with centre D followed by a succession S' starting at D.blowUp. From it one reads off

  • the length r (length),

  • the stages X_0 = X, X_1, \dots, X_r (stage i, indexed by Fin (r + 1)),

  • the centres D_i \subseteq X_i for i < r (center i, an ideal sheaf on stage i.castSucc),

  • the partial composites \Pi_i \colon X_i \to X (stageMap i),

  • the last stage X_r (last) and the composite \Pi \colon X_r \to X (composite).

The centres are arbitrary closed subschemes: empty and trivial centres are allowed [Kol07, Warning 20], and the main theorems state the conditions they ask of the centres. Because the stages are defined by recursion, a centre lives on a stage whose type depends on the succession; the statements index the stages by Fin (S.length + 1) and the centres by Fin S.length, with i.castSucc the stage on which the i-th centre lies and Fin.last S.length the last stage.

Lean code for Definition2.4.1.1●7 definitions
uses 1
Used by 6
Reverse dependency previews
Preview
Definition 4.2.1.1
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Along a succession S, by recursion on the stages:

  • S.weakTransformSeq J i is Hironaka's sequence of weak transforms: J_0 = J and J_{i+1} the weak transform of J_i along the i-th blow-up (Definition 2.2.5.2);

  • S.boundarySeq E i is Hironaka's sequence of boundaries: E_0 = E and E_{i+1} = \mathrm{red}(f_i^{-1}(E_i) \cup f_i^{-1}(D_i));

  • S.strictTransformSeq Y i is the strict transform Y_i of a closed subscheme Y [Kol07, Definition 30.2]; Włodarczyk's Y_i [Wlo05, Theorem 1.0.2 (b)].

Lean code for Definition2.4.1.2●3 definitions

2.4.2. Divisor families and simple normal crossings🔗

Definition2.4.2.1source[Kol07, Definition 31] ↗
uses 0
Used by 9
Reverse dependency previews
Preview
Definition 2.4.2.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Kollár's divisor E = \sum E^i with an ordered index set: a DivisorFamily X is a finite linearly ordered index type ι (with its fintype and linearOrder) and a closed subscheme component i for each index, given by its ideal sheaf. The order matters to Kollár's algorithm, in which new exceptional divisors come after old ones. DivisorFamily.empty X is the empty divisor; support is the set of points on at least one component and singularLocus (\operatorname{Sing} E) the set of points on at least two; E.comap h is the inverse image family h^{-1}(E) [Kol07, 34.1].

Lean code for Definition2.4.2.1●9 definitions
Definition2.4.2.2source[Kol07, Definition 24] ↗
uses 1
Used by 6
Reverse dependency previews
Preview
Definition 2.4.2.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Kollár's simple normal crossings, illustrated with Hironaka's notion in Normal crossings. At a point x, E.IsSncAt x z says that z_1, \dots, z_n is a regular system of parameters of \mathcal{O}_{X,x} and each component of E through x is cut out near x by its own coordinate z_{c(i)}, distinct components by distinct coordinates. E.IsSnc asks every component to be smooth and such coordinates to exist at every point [Kol07, Definition 24 (1)–(3)]; since the coordinates are asked for also at the points on no component, E.IsSnc makes X itself regular. E.HasSncWith Z says that at every point of Z the coordinates can be chosen so that in addition Z is cut out by some of them [Kol07, Definition 24 (4)]; some components may contain Z.

Lean code for Definition2.4.2.2●3 definitions
Definition2.4.2.3source[Kol07, Definition 24] ↗
uses 0
Used by 3
Reverse dependency previews
Preview
Definition 4.2.4.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Divisors with simple normal crossings, as ideal sheaves and as sets. IsIdealOfSncDivisor I says that I is the ideal sheaf of an effective divisor \sum a_j F_j supported on a simple normal crossings family F (Definition 2.4.2.2); Kollár's principalization makes the pull-back of an ideal sheaf of this form [Kol07, Theorem 35 (2)]. IsSncDivisor Z says that the set Z is the support of a simple normal crossings divisor family [Kol07, Definition 24], with its reduced structure; a strong resolution asks this of the preimage of the singular locus [Kol07, (3)].

Lean code for Definition2.4.2.3●2 definitions
Definition2.4.2.4source[Kol07, Definition 25] ↗
Statement uses 3
Statement dependency previews
Preview
Definition 2.2.2.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 4.2.4.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Kollár's total transform of a divisor family under one blow-up with centre D is the family of the birational transforms of the components of E, followed by the exceptional divisor f^{-1}(D) with the largest index (DivisorFamily.totalTransform, [Kol07, Definitions 25 and 65]). Along a succession it gives E_i = (\pi_0 \cdots \pi_{i-1})^{-1}_*(E) + \mathrm{Ex}_{tot}(\pi_0 \cdots \pi_{i-1}) (BlowUpSequence.totalTransformSeq); starting from the empty family it is the family of exceptional divisors, as in the embedded desingularization theorem (Theorem 4.2.10.4).

Lean code for Definition2.4.2.4●2 definitions

2.4.3. Operations on successions🔗

For a succession S of X and a morphism h \colon Y \to X, the pull-back h^* S blows up, at each stage, the inverse image of the corresponding centre (S.pullback h). For smooth h its stages are the fibre products X_i \times_X Y (The universal property): it does on Y what S does on X. For a projection X \times \mathbb{A}^1 \to X the pull-back is S \times \mathbb{A}^1; for an open immersion U \hookrightarrow X it is the restriction of S to U, in which a centre disjoint from U becomes the empty centre.

Definition2.4.3.1source[Kol07, Definition 30] ↗
uses 1
Used by 7
Reverse dependency previews
Preview
Definition 4.2.4.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

These operations compare successions on different schemes:

A pulled-back succession may have empty centres where the image of h misses a centre, which is why, for a non-surjective h, the functorial theorems compare with (S.pullback h).eraseEmpty.

Lean code for Definition2.4.3.1●3 definitions

2.4.4. Blow-up sequence functors🔗

Hironaka's theorems assert that, for each input, a succession of blow-ups with the required properties exists. Kollár's and Włodarczyk's assert more: one rule, a blow-up sequence functor B, assigns a succession B(X) to every input X at once [Kol07, 31 and 34]. The inputs form a category, which differs from theorem to theorem (triples, disjoint unions of varieties, embedded pairs), and each input has an underlying algebraic k-scheme. As defined, B is data on objects only; its compatibility with smooth morphisms and with change of the base field is a property that the theorems assert, explained with functorial principalization (Functorial principalization).

Definition2.4.4.1source[Kol07, Definition 31] ↗
Statement uses 2
Statement dependency previews
Preview
Definition 2.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 11
Reverse dependency previews
Preview
Definition 4.2.4.1
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

HasUnderlyingScheme C k equips a category of inputs C with a functor forget to AlgScheme k; scheme X is the underlying scheme of an input and hom h the underlying morphism of schemes of a morphism of inputs. A blow-up sequence functor BlowUpSequenceFunctor C assigns to every input X a succession of blow-ups B X : BlowUpSequence (scheme X) of its underlying scheme [Kol07, Definition 31]. It carries no conditions: the conditions on the values, and the compatibility with smooth morphisms (Definition 4.2.4.3), are asserted by the main theorems, which quantify over the input so that a single functor works for all inputs, and over the field so that a single family of functors works for all fields.

Lean code for Definition2.4.4.1●5 definitions