Resolution of Singularities in Characteristic Zero

3.1. Ideal sheaves, submanifolds and blow-ups🔗

Lean names in this section are shown relative to Manifold, AnalyticManifold, TopologicalSpace, Topology, Filter, Set.

The analytic theorems are written in a vocabulary collected in the namespace AnalyticManifold, built on an infrastructure in the namespace Manifold: the sheaf of analytic functions on a manifold and its germs, locally finitely generated ideal sheaves, closed submanifolds and blow-ups with smooth centre in the sense of Bierstone–Milman [BM88, Definition 4.1], simple normal crossings families of hypersurfaces, and the Jacobian ideal. The field is 𝕜 (ℝ for the main theorems, ℝ or ℂ where RCLike 𝕜 suffices) and the model space a normed space E.

3.1.1. Analytic manifolds and maps🔗

Definition3.1.1.1source[Hir64, pp. 119–121] ↗
uses 0
Used by 31
Reverse dependency previews
Preview
Definition 3.1.3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

An AnalyticManifold 𝕜 E is a bundled analytic manifold modelled on E: a type of points (carrier) with a topology (top), a charted-space structure (charted) with analytic chart changes (manifold, Mathlib's IsManifold at smoothness \omega), Hausdorff (t2) and second countable (secondCountable), without boundary; the coercion instCoeSortType lets M stand for its type of points. For E finite-dimensional this is a pure-dimensional non-singular analytic \mathbb{K}-space in Hironaka's sense; his non-singular spaces may have components of different dimensions.

An AnalyticMap M N is a bundled analytic map (Mathlib's C^ω maps). An open subset U of M is again an analytic manifold, M.restrict U, with the inclusion M.inclusion U; this is how Włodarczyk's neighbourhoods U_K of compact sets become manifolds.

Lean code for Definition3.1.1.1●11 declarations

3.1.2. The sheaf of analytic functions and germs🔗

Definition3.1.2.1source[BM97, (0.3)] ↗
uses 0
Used by 26
Reverse dependency previews
Preview
Definition 3.1.2.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

The structure sheaf structureSheaf 𝕜 E M is the sheaf of commutative rings U \mapsto \{f \colon U \to \mathbb{K} \text{ analytic}\}, the sheaf of regular functions of an analytic manifold. It is built from the sheaf of C^n functions to a C^n ring (contMDiffLocalPredicate, contMDiffSheaf, contMDiffPresheafCommRing with its ring instance, contMDiffSheafCommRing) at n = \omega; a section is a function on its open set (the coercions coeFun of the three sheaves). Its stalks are local rings, as the order of an ideal sheaf at a point requires (Definition 3.1.3.1). The constants give its \mathbb{K}-algebra structure (constSection, constHom), and a chart \varphi with linear coordinates \psi gives coordinate functions \psi_i \circ \varphi as sections (chartSection) and as germs (coord).

Lean code for Definition3.1.2.1●13 definitions
Definition3.1.2.2
uses 1
Used by 4
Reverse dependency previews
Preview
Definition 3.1.3.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

The stalk of the structure sheaf at a is identified with a subring of the ring of function germs at a: a section over a neighbourhood of a, extended by zero (extendBy0), has a germ (germAt); these form a cocone over the neighbourhoods (stalkToGermCocone), whence the ring map from the stalk to germs (stalkToGermHom, stalkToGerm), which is injective. Composition of germs with a map tending to the base point is a ring map (germCompRingHom); it underlies the stalk maps of analytic maps (Definition 3.1.3.2).

Lean code for Definition3.1.2.2●6 definitions

3.1.3. Ideal sheaves🔗

uses 0
Used by 28
Reverse dependency previews
Preview
Definition 3.1.3.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

For a sheaf of commutative rings \mathcal{O} on a space X, Manifold.IdealSheaf 𝒪 is a locally finitely generated ideal sheaf: ideals of sections over every open set (carrier), closed under restriction (res_mem), satisfying the sheaf condition, whose stalk ideals (stalkIdealOf, stalkIdeal) are generated near every point by finitely many sections (HasLocalGenerators). This is Hironaka's "coherent sheaf of ideals", with "coherent" read as locally finitely generated.

An ideal sheaf can be given by its stalks: ofStalks builds it from a family of stalk ideals with local generators. The unit ideal ⊤, the zero ideal ⊥ and products J * J' are built this way (hasLocalGenerators_top, _bot, _mul and the instances instTop, instBot, instMul). The support V(J) = \{a : J_a \ne \mathcal{O}_a\} (support, Kollár's cosupport) is the set of points of the closed subspace defined by J; IsNonzeroEverywhere asks every stalk to be nonzero; and J.ord a is the order \nu_a(J) = \max\{p : J_a \subseteq \mathfrak m_a^p\}, the order IsLocalRing.ord of the stalk ideal (Definition 2.1.3.2).

Lean code for Definition3.1.3.1●13 declarations
Definition3.1.3.2source[BM97, Theorem 1.10] ↗
Statement uses 3
Statement dependency previews
Preview
Definition 3.1.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 12
Reverse dependency previews
Preview
Definition 3.1.3.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

The pull-back \varphi^* J of an ideal sheaf along an analytic map is the ideal sheaf generated by the f \circ \varphi, f a section of J: Hironaka's total transform, Bierstone–Milman's \sigma^{-1}(I). It is built stalkwise: the stalk map of \varphi at b, s \mapsto s \circ \varphi (germMapOn, germMap), is defined through germ composition (stalkGermComp, with stalkGermComp_mem_range, stalkEquivRange, tendsto_of_contMDiffOn_of_eq), and the images of local generators are local generators (hasLocalGenerators_pullback).

Lean code for Definition3.1.3.2●5 definitions
Statement uses 3
Statement dependency previews
Preview
Definition 3.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 20
Reverse dependency previews
Preview
Definition 3.1.4.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

The statements use the names of AnalyticManifold: IdealSheaf M is a locally finitely generated ideal sheaf of the structure sheaf of M, whose stalk rings are stalkRing M x. Closed analytic subspaces (centres, boundaries) are given by their ideal sheaves. The operations are the inverse image f^{-1}(J) \cdot \mathcal{O}_M along an analytic map (J.pullback f f.contMDiff) and the restriction J|_U to an open set (J.restrict U); the unit ideal sheaf \mathcal{O}_M (⊤), products, the set of points J.support (the cosupport) and Hironaka's order \nu(J_x) (J.ord x) are those of the general ideal sheaves (Definition 3.1.3.1). The predicates are:

  • IsNonzeroEverywhere (of the general ideal sheaves): every stalk is nonzero, Hironaka's "sheaf of non-zero ideals";

  • IsNonsingular: every point of the subspace is simple, \mathcal{O}_{M,x}/J_x regular; vacuous on the empty subspace;

  • IsReduced: the subspace is reduced, every stalk J_x a radical ideal.

J.regularLocus is the set of simple points of the subspace, the points at which \mathcal{O}_{M,x}/J_x is a regular local ring: Włodarczyk's \operatorname{Reg}(Y) [Wlo09, Theorem 2.0.2 (2)]. A point off the subspace is not in it, the zero ring not being local, and J.IsNonsingular holds exactly when the support lies in the simple locus.

Hironaka's "reduced" and "everywhere of codimension one" for the boundary are not hypotheses of Main Theorem II″(N): they follow from the simple normal crossings hypothesis IsSncBoundary (Definition 3.1.5.1, Theorem 4.3.1.2). IsReduced is the hypothesis on the embedded subspace of Włodarczyk's embedded desingularization (Theorem 4.3.4.6).

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

A function germ at x vanishes on Z if some representative is zero on Z near x (Germ.VanishesOn); such germs form an ideal (vanishingGermIdeal), and its trace on the stalk of the structure sheaf is the vanishing ideal vanishingStalk Z x. These are the stalks of Hironaka's reduced structure \mathrm{red} on a closed set, used for boundaries (Definition 3.1.4.3, Definition 3.1.5.1).

Lean code for Definition3.1.3.4●3 definitions

3.1.4. Closed submanifolds and blow-ups🔗

Definition3.1.4.1
Statement uses 2
Statement dependency previews
Preview
Definition 3.1.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 5
Reverse dependency previews
Preview
Definition 3.1.4.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Fix linear coordinates \psi \colon E \cong \mathbb{K}^n. A chart \varphi is adapted to Y (IsAdaptedChart) if on its source Y is a coordinate subspace \{z_\sigma = 0\} of the coordinates \psi \circ \varphi. A closed submanifold of codimension c (IsClosedSubmanifold ψ Y c) is a closed set with an adapted chart at each of its points. Its ideal sheaf is specified by IsIdealSheafOf (cosupport Y, stalks at the points of Y spanned by the adapted coordinates) and chosen by IsClosedSubmanifold.idealSheaf (the unit ideal sheaf if none exists; existence and uniqueness are lemmas of the library).

Lean code for Definition3.1.4.1●4 definitions
Definition3.1.4.2
Statement uses 2
Statement dependency previews
Preview
Definition 3.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 3.1.4.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Blow-ups of manifolds are characterized rather than constructed, following Bierstone–Milman's definition of blowing up [BM88, Definition 4.1]. IsBlowUp ψ Y c π says that \pi \colon M' \to M is the blowing-up of M with centre the closed submanifold Y: M' is an analytic manifold, \pi is proper and analytic (IsBlowUp.contMDiff), (1) \pi is an analytic isomorphism M' \setminus \pi^{-1}(Y) \to M \setminus Y, and (2) over every adapted chart of Y the standard blow-up charts exist and cover \pi^{-1}(U). A blow-up chart of index i (IsBlowUpChart) is a chart \Phi of M' in which \pi reads as the model map blowUpChartMap σ i: the i-th coordinate of the block is the scaling variable and the other block coordinates are ratios multiplied by it. The ideal of the exceptional divisor, I_F = \pi^* I_Y, is the pull-back hY.idealSheaf.pullback π h.contMDiff along the blow-up.

AnalyticMap.IsMonoidalTransformation f D is the form used in the statements: for some coordinates and codimension, the cosupport of D is a closed submanifold, D is its ideal sheaf, and f is a blowing-up with that centre. The coordinates are existential inside the predicate, so the statements carry no model isomorphism.

Lean code for Definition3.1.4.2●5 declarations
Definition3.1.4.3source[Hir64, Ch. 0, §5, p. 142] ↗
Statement uses 6
Statement dependency previews
Preview
Definition 3.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Transforms of an ideal sheaf along a blow-up of manifolds:

  • the total transform \pi^{-1}(I) = \pi^* I \cdot \mathcal{O}_{M'} (IdealSheaf.totalTransform);

  • the order of J along a centre, \nu_{D,a}(J) = \sup\{p : J_a \subseteq D_a^p\} (ordAlongIdeal, [BM97, §3]), and its generic value along the connected component of the centre through a (genericOrdAlong);

  • IsDivExceptional: J' is the quotient of the total transform by the exceptional ideal to the generic order, stalkwise a colon ideal;

  • weakTransform f J D (AnalyticManifold.IdealSheaf.weakTransform): Hironaka's weak transform, the ideal sheaf with that property, chosen when it exists (Hironaka shows that it does along a monoidal transformation) and the unit ideal otherwise;

  • reducedTransform f E D: Hironaka's \mathrm{red}(f^{-1}(E) \cup f^{-1}(D)), the reduced subspace on that set through vanishing ideals (Definition 3.1.3.4), when these have local generators (as they do in the main theorems), and the product f^*E \cdot f^*D otherwise, which has the same points;

  • the strict transform of a closed subspace, stalkwise the saturation of the total transform by the exceptional ideal (saturationStalk, strictTransformSubspace).

The exponent of the weak transform may vary along the centre: it is the generic order along each connected component.

Lean code for Definition3.1.4.3●7 definitions

3.1.5. Simple normal crossings boundaries🔗

Definition3.1.5.1source[Kol07, Definition 24] ↗
Statement uses 4
Statement dependency previews
Preview
Definition 3.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 6
Reverse dependency previews
Preview
Definition 3.1.5.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

A HypersurfaceFamily M is an ordered countable family of subsets hyp j of M (indexed by ι), the components E^j of a divisor E = \sum E^j, with support \bigcup_j E^j. It is a simple normal crossings divisor (IsSnc) if every component is a closed smooth hypersurface, the family is locally finite, and every point has an snc chart (IsSncChartAt): a chart in which each component through the point is its own coordinate hyperplane. HasSncWith adds a closed submanifold Y cut out by some of the coordinates of such charts. idealSheaf is the reduced ideal sheaf of the divisor, through the vanishing ideals of its support.

The statements use two predicates on an ideal sheaf B:

  • IsSncBoundary B: B is the reduced ideal sheaf of a simple normal crossings hypersurface family, for some coordinates;

  • IsSncBoundaryWith B D: moreover the family has simple normal crossings with the closed subspace D [Kol07, Definition 24 (4)]; [Wlo09, Definition 3.2.4 (2)].

IsNormalCrossingsDivisor is Bierstone–Milman's normal-crossings divisor: a principal ideal sheaf generated at every point by a monomial \prod z_i^{\alpha_i} in a regular system of parameters (Definition 2.1.2.2) [BM97, Theorem 1.10].

Lean code for Definition3.1.5.1●11 definitions
Definition3.1.5.2source[Wlo09, Theorem 2.0.2 (3), (6)] ↗
Statement uses 2
Statement dependency previews
Preview
Definition 3.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Definition 4.3.3.1
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Two predicates of Włodarczyk's embedded desingularization (Theorem 4.3.4.6), for ideal sheaves B, Y and J:

  • B.IsSncBoundaryTransversalTo Y: B is the reduced ideal sheaf of a simple normal crossings hypersurface family G with which the closed subspace Y has simple normal crossings transversally: at every point a of Y there is a chart adapted to Y, of the codimension of Y at a, which is an snc chart of G at a, and the coordinates cutting out Y are distinct from those of the hypersurfaces through a. Unlike IsSncBoundaryWith, the codimension may vary from point to point, as it does for the strict transform of a subspace that is not equidimensional; and no component through a may contain Y near a, which Kollár's Definition 24 (4) allows. This is the reading of "\tilde Y has only simple normal crossings with the exceptional divisor E_r" [Wlo09, Theorem 2.0.2 (3)].

  • J.IsMulBoundaryMonomial Y B: J = I_Y \cdot I_{\tilde E} for a divisor \tilde E that is, near every point, an effective combination of the hypersurfaces of a simple normal crossings family whose reduced ideal sheaf is B: at every point x the stalk J_x is the product of (I_Y)_x with a monomial in the vanishing ideals of hypersurfaces of the family through x (Definition 3.1.3.4), the exponents read at x [Wlo09, Theorem 2.0.2 (6)].

Lean code for Definition3.1.5.2●2 definitions

3.1.6. The Jacobian ideal and analytic isomorphisms🔗

Definition3.1.6.1source[BM97, Theorem 1.10] ↗
Statement uses 3
Statement dependency previews
Preview
Definition 3.1.1.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 5
Reverse dependency previews
Preview
Definition 3.2.2.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

jacobianFun 𝕜 f χ φ' y is the Jacobian determinant \det D(\chi \circ f \circ \varphi'^{-1}) of f in the charts \chi (target) and \varphi' (source). jacobianStalk f a' is the ideal of \mathcal{O}_{N,a'} generated by its germ in the standard charts, and AnalyticMap.jacobianIdeal f is the ideal sheaf with these stalks: the ideal generated locally, in any analytic coordinates, by the Jacobian determinant, independent of the coordinates since a change of charts multiplies the determinant by a unit.

AnalyticMap.IsIsoOver f U: f restricts to an analytic isomorphism f^{-1}(U) \to U, that is, a local diffeomorphism on f^{-1}(U) and a bijection onto U (condition (1) of [BM88, Definition 4.1], off the centre).

Lean code for Definition3.1.6.1●4 definitions