Documentation

Hironaka.Resolution.Algebraic.MaximalContact.Existence

Local existence of hypersurfaces of maximal contact #

[Kol07, Theorem 80 (2)]: for m = max-ord I, every point of X has a neighbourhood on which a smooth hypersurface of maximal contact exists. Kollár's proof is three sentences: at a point x with ord_x I = m, ord_x MC(I) = 1 by [Kol07, Lemma 74 (3)]; so some local section of MC(I) has order 1 at x; and its zero divisor is smooth near x. This file carries them out on ideal sheaves, and adds the two things the printed proof does not spell out: the points where ord_x I < m (there MC(I) is the unit ideal sheaf near x, and the empty hypersurface ⊤ works) and the transport of the equation from the affine open where it is found to the open where its zero divisor is smooth. [Kol07, Aside 81] notes that such an H exists locally but usually not globally; only the local statement is proved here.

The local hypersurfaces are the input of the globalization of blow-up sequences ([Kol07, Theorem 105], Hironaka/Resolution/Algebraic/Kol07/MaximalContactGlobalization.lean), which patches the order reduction on the opens U into one on X.

Multiplying by a unit does not change the order of an element.

The ideal sheaf of a section: the five unfoldings and restriction #

On every affine open U the ideal sheaf generated by h is the principal ideal (h|_U) (Mathlib's ofIdealTop_ideal: the image of the ideal (h) of the global sections).

The stalk of (h) at x is generated by the germ of h.

The unit section generates the unit ideal sheaf.

The order of (h) at x is the order of the germ of h.

The ideal sheaf of a section restricts as the section does: along g : Y ⟶ X, (h) pulls back to (g^* h). Stalkwise, the germ of g^* h at y is the image of the germ of h at g y (germ_stalkMap_apply).

The section of order one, and the unit case, on a smooth scheme #

theorem AlgebraicGeometry.Scheme.IdealSheafData.MC_comap_eq_top_of_forall_ord_eq_zero {X : Scheme} {k : Type u} [Field k] (f : X ⟶ Spec ↧k) (n : ℕ) [SmoothOfRelativeDimension n f] (I : X.IdealSheafData) (m : ℕ) (U : X.Opens) (hU : ∀ (u : ↥U), (MC f I m).ord (U.ι u) = 0) :

If MC(I) has order 0 at every point of an open U, then MC of the restriction I|_U is the unit ideal sheaf: MC commutes with the (smooth) open immersion, and an ideal sheaf whose stalks are all the unit ideal is ⊤.

theorem AlgebraicGeometry.Scheme.IdealSheafData.exists_opens_MC_comap_eq_top_of_ord_lt {X : Scheme} {k : Type u} [Field k] (f : X ⟶ Spec ↧k) [CharZero k] (n : ℕ) [SmoothOfRelativeDimension n f] (I : X.IdealSheafData) {m : ℕ} {x : ↥X} (hx : I.ord x < ↑m) :
∃ (U : X.Opens), x ∈ U ∧ MC (CategoryTheory.CategoryStruct.comp U.ι f) (I.comap U.ι) m = ⊤

The points the proof of [Kol07, Theorem 80 (2)] passes over: at a point where ord_x I < m, the open {ord I < m} carries MC(I|_U) = 𝒪_U, since MC(I) has order 0 there.

theorem AlgebraicGeometry.Scheme.IdealSheafData.exists_mem_ideal_MC_ordElem_eq_one {X : Scheme} {k : Type u} [Field k] (f : X ⟶ Spec ↧k) [CharZero k] (n : ℕ) [SmoothOfRelativeDimension n f] (I : X.IdealSheafData) {m : ℕ} (hm : 1 ≤ m) {x : ↥X} (hx : I.ord x = ↑m) :
∃ (U : ↑X.affineOpens) (hxU : x ∈ ↑U), ∃ h ∈ (MC f I m).ideal U, IsLocalRing.ordElem ((CategoryTheory.ConcreteCategory.hom (X.presheaf.germ (↑U) x hxU)) h) = 1

The first two sentences of the proof of [Kol07, Theorem 80 (2)]: at a point of order m ≥ 1 of I, ord_x MC(I) = 1, so MC(I)_x contains an element a of 𝔪_x ∖ 𝔪_x²; the stalk is the localization of MC(I)(U) at x for an affine U ∋ x, so a · germ u = germ s with s ∈ MC(I)(U) and u invertible at x, and germ s has order 1 as well.

The smooth locus of an equation of order one #

The last sentence of the proof of [Kol07, Theorem 80 (2)], "its zero divisor is smooth in a neighborhood of x": for a global section h whose germ at x has order exactly 1, the open set U := {y | ord_y (h) < 2} contains x, and on it the ideal sheaf (h) is a smooth divisor: at every point of V(h) ∩ U the germ of h lies in 𝔪 ∖ 𝔪² (order exactly 1, ordElem_eq_one_iff), and the quotient of the regular stalk by it is regular (IsRegularLocalRing.quotient_span_singleton), so V(h) ∩ U is regular.

Theorem 80 (2): the assembly and its corollaries #

[Kol07, Theorem 80 (2)]: for m = max-ord I, every point has an open neighbourhood U with a section h ∈ 𝒪(U) whose zero divisor (h) is a smooth hypersurface of U with (h) ⊆ MC(I|_U). Where ord_x I < m (or m = 0, when I = 𝒪_X), h = 1 on the open where MC(I|_U) = 𝒪_U; where ord_x I = m ≥ 1, exists_mem_ideal_MC_ordElem_eq_one gives the equation on an affine open U₁, viewed as a global section of the open subscheme U₁, exists_opens_isSmoothDivisor_comap_principal gives the open V ⊆ U₁ where its zero divisor is smooth, and the data are transported to the open V ⟶ U₁ ⟶ X of X along Mathlib's isoOpensRange.

[Kol07, Theorem 80 (2)] with the hypersurface as an ideal sheaf: for m = max-ord I, every point has an open neighbourhood carrying a smooth divisor that is a static hypersurface of maximal contact for the restricted ideal.

[Kol07, Theorem 80 (1) and (2)] together: for m = max-ord I ≥ 1, every point has an open neighbourhood carrying a smooth divisor that is a hypersurface of maximal contact in the static and the dynamic sense; the dynamic form is IsOrderSeq.strictTransformSeq_le_center_of_le_MC on every open immersion, exactly as in isDynamicMaximalContact_of_isMaximalContact, and needs no I|_H ≠ 0.