Documentation

Hironaka.Scheme.Snc.HasSncWith

Z has simple normal crossings with E: the consequences #

[Kol07, Definition 24 (4)]: a closed subscheme Z ⊆ X has simple normal crossings with the divisor E = ∑ E^i if at every x ∈ Z there are local coordinates z_1, …, z_n ∈ 𝔪_x (a regular system of parameters of 𝒪_{X,x}) with every component through x of the form E^i = (z_{c(i)} = 0), c injective, and Z = (z_j = 0 : j ∈ s) for a set s of indices. The consequences Kollár draws — "in particular, Z is smooth", some E^i may contain Z, and if none does then "E|_Z is again a simple normal crossing divisor on Z" — are all local at a point w of V(Z) over x = ι w, where ι : V(Z) ⟶ X is the closed immersion and the stalk map φ = ι^♯_w : 𝒪_{X,x} → 𝒪_{Z,w} is surjective with kernel I_{Z,x} = (z_j : j ∈ s) (ker_stalkMap_subschemeι). Everything is then the ring-level statement of Hironaka.Scheme.Snc.ParameterSubset for this φ:

In the sections at a point and on the subscheme, as in Hironaka.Scheme.Snc.Family, the snc data are explicit hypotheses. The last section states the consequences for the predicates DivisorFamily.IsSncAt and HasSncWith on a scheme smooth over k: hasSncWith_iff, IsSncAt.stalkIdeal_le_iff_mem, HasSncWith.isRegularLocalRing_quotient_stalkIdeal, HasSncWith.isRegular, HasSncWith.smooth, IsSncAt.exists_generator_stalkIdeal_comap_of_notMem, HasSncWith.isSmoothDivisor_comap, IsSncAt.exists_isSncAt_comap, HasSncWith.isSnc_comap.

Every point of V(D) lies over a point of the support of D.

A closed subscheme V(D) is regular as soon as every stalk quotient 𝒪_{Y,w}/D_w, w ∈ V(D), is regular — 𝒪_{V(D),v} ≅ 𝒪_{Y,ι v}/D_{ι v} (stalkQuotientEquiv).

At a point x of X #

theorem AlgebraicGeometry.stalkIdeal_le_stalkIdeal_iff_mem {X : Scheme} {x : ↥X} {n : ℕ} {z : Fin n → ↑(X.presheaf.stalk x)} {s : Finset (Fin n)} {Z D : X.IdealSheafData} [IsRegularLocalRing ↑(X.presheaf.stalk x)] (hz : Ideal.span (Set.range z) = IsLocalRing.maximalIdeal ↑(X.presheaf.stalk x) ∧ ↑n = ringKrullDim ↑(X.presheaf.stalk x)) (hZ : Z.stalkIdeal x = Ideal.span (z '' ↑s)) {j : Fin n} (hD : D.stalkIdeal x = Ideal.span {z j}) :

A component E^i = (z_j = 0) through x contains Z near x iff j is one of the coordinates of Z.

theorem AlgebraicGeometry.notMem_of_not_stalkIdeal_le {X : Scheme} {x : ↥X} {n : ℕ} {z : Fin n → ↑(X.presheaf.stalk x)} {s : Finset (Fin n)} {Z D : X.IdealSheafData} [IsRegularLocalRing ↑(X.presheaf.stalk x)] (hz : Ideal.span (Set.range z) = IsLocalRing.maximalIdeal ↑(X.presheaf.stalk x) ∧ ↑n = ringKrullDim ↑(X.presheaf.stalk x)) (hZ : Z.stalkIdeal x = Ideal.span (z '' ↑s)) {j : Fin n} (hD : D.stalkIdeal x = Ideal.span {z j}) (hle : ¬D.stalkIdeal x ≤ Z.stalkIdeal x) :
j ∉ s

𝒪_{X,x}/I_{Z,x} is regular (Kollár's "in particular, Z is smooth").

At a point w of V(Z) over x = ι w #

The stalk at w of the restriction D ∩ Z = D.comap ι is generated by the image of a generator of D_x.

theorem AlgebraicGeometry.exists_snc_data_comap {X : Scheme} (Z : X.IdealSheafData) (w : ↥Z.subscheme) {n : ℕ} {z : Fin n → ↑(X.presheaf.stalk (Z.subschemeι w))} {s : Finset (Fin n)} {ι : Type u_1} (E : ι → X.IdealSheafData) (c : { i : ι // Z.subschemeι w ∈ (E i).support } → Fin n) (hcinj : Function.Injective c) (hc : ∀ (i : { i : ι // Z.subschemeι w ∈ (E i).support }), (E ↑i).stalkIdeal (Z.subschemeι w) = Ideal.span {z (c i)}) (hno : ∀ (i : { i : ι // Z.subschemeι w ∈ (E i).support }), c i ∉ s) :
∃ (c' : { i : ι // w ∈ ((E i).comap Z.subschemeι).support } → Fin sᶜ.card), Function.Injective c' ∧ ∀ (i : { i : ι // w ∈ ((E i).comap Z.subschemeι).support }), ((E ↑i).comap Z.subschemeι).stalkIdeal w = Ideal.span {(⇑(CommRingCat.Hom.hom (Scheme.Hom.stalkMap Z.subschemeι w)) ∘ z ∘ ⇑(sᶜ.orderEmbOfFin ⋯)) (c' i)}

When no component through x = ι w contains Z, the snc data c of E at x restrict to snc data of the family E^i ∩ Z = (E^i).comap ι at w, with coordinates the images of the z_l, l ∉ s, enumerated by sᶜ.orderEmbOfFin (Kollár's "E|_Z is again a simple normal crossing divisor on Z").

𝒪_{Z,w} = 𝒪_{X,x}/(z_j : j ∈ s) is a regular local ring (Kollár's "Z is smooth").

dim 𝒪_{Z,w} = |sᶜ|, the number of remaining coordinates.

For j ∉ s, the image of z_j in 𝒪_{Z,w} lies outside 𝔪_w² — E^i ∩ Z = (z_j = 0) is a smooth divisor of Z at w.

𝒪_{Z,w}/(E^i ∩ Z)_w = 𝒪_{X,x}/(z_l : l ∈ s ∪ {j}) is regular.

The predicates IsSncAt and HasSncWith on a scheme smooth over k #

[Kol07, Definition 24 (4)] asks, at each point x of the closed subscheme Z, for local coordinates z_1, …, z_n as in (1)–(3) — a regular system of parameters of 𝒪_{X,x} with each component E^i through x equal to (z_{c(i)} = 0) — such that moreover Z = (z_j = 0 : j ∈ s) near x. The predicate HasSncWith says exactly this (hasSncWith_iff is Iff.rfl). On X smooth over k every stalk is a regular local ring (AlgebraicGeometry.isRegularLocalRing_stalk), so Kollár's consequences are the ring-level statements of the two sections above:

The namespace is reopened so that the section variables are bound in the order {k} [Field k] {X}.

theorem AlgebraicGeometry.hasSncWith_iff {X : Scheme} (E : X.DivisorFamily) (Z : X.IdealSheafData) :
E.HasSncWith Z ↔ ∀ x ∈ Z.support, ∃ (n : ℕ) (z : Fin n → ↑(X.presheaf.stalk x)), E.IsSncAt x z ∧ ∃ (s : Finset (Fin n)), Z.stalkIdeal x = Ideal.span (z '' ↑s)

[Kol07, Definition 24 (4)] unfolded: Z has simple normal crossings with E iff at every x ∈ Z there are local coordinates satisfying (1)–(3) and an index set s with I_{Z,x} = (z_j : j ∈ s).

theorem AlgebraicGeometry.IsSncAt.stalkIdeal_le_iff_mem {k : Type u} [Field k] {X : Scheme} (f : X ⟶ Spec ↧k) [Smooth f] {E : X.DivisorFamily} {x : ↥X} {n : ℕ} {z : Fin n → ↑(X.presheaf.stalk x)} (h : E.IsSncAt x z) {Z : X.IdealSheafData} {s : Finset (Fin n)} (hZ : Z.stalkIdeal x = Ideal.span (z '' ↑s)) {i : E.ι} {j : Fin n} (hij : (E.component i).stalkIdeal x = Ideal.span {z j}) :

Under (4), a component E^i = (z_j = 0) through x contains Z near x iff j is one of the coordinates of Z — z_j ∈ (z_l : l ∈ s) iff j ∈ s, the classes of the coordinates being a basis of 𝔪_x/𝔪_x².

At x ∈ Z, the stalk 𝒪_{Z,x} = 𝒪_{X,x}/I_{Z,x} is a regular local ring — the quotient of a regular local ring by part of a regular system of parameters.

theorem AlgebraicGeometry.HasSncWith.isRegular {k : Type u} [Field k] {X : Scheme} (f : X ⟶ Spec ↧k) [Smooth f] {E : X.DivisorFamily} {Z : X.IdealSheafData} (h : E.HasSncWith Z) :

V(Z) is regular.

V(Z) is smooth over the perfect field k (Kollár's "in particular, Z is smooth").

theorem AlgebraicGeometry.IsSncAt.exists_generator_stalkIdeal_comap_of_notMem {k : Type u} [Field k] {X : Scheme} (f : X ⟶ Spec ↧k) [Smooth f] {E : X.DivisorFamily} {Z : X.IdealSheafData} {w : ↥Z.subscheme} {n : ℕ} {z : Fin n → ↑(X.presheaf.stalk (Z.subschemeι w))} (h : E.IsSncAt (Z.subschemeι w) z) {s : Finset (Fin n)} (hZ : Z.stalkIdeal (Z.subschemeι w) = Ideal.span (z '' ↑s)) {i : E.ι} {j : Fin n} (hij : (E.component i).stalkIdeal (Z.subschemeι w) = Ideal.span {z j}) (hj : j ∉ s) :

The transversal case at a point w of V(Z) over x = ι w: for a component E^i = (z_j = 0) through x with j ∉ s, the restriction E^i ∩ Z (the inverse image (E^i).comap ι) has at w a stalk generated by the image of z_j, an element of 𝔪_w ∖ 𝔪_w², with regular quotient — E^i ∩ Z = (z_j = 0) ⊆ Z is a smooth divisor of Z at w.

theorem AlgebraicGeometry.HasSncWith.isSmoothDivisor_comap {k : Type u} [Field k] {X : Scheme} (f : X ⟶ Spec ↧k) [Smooth f] {E : X.DivisorFamily} {Z : X.IdealSheafData} (h : E.HasSncWith Z) (i : E.ι) (hi : ∀ x ∈ Z.support, x ∈ (E.component i).support → ¬(E.component i).stalkIdeal x ≤ Z.stalkIdeal x) :

Globally: if the component E^i contains Z near no point of Z ∩ E^i, then E^i ∩ Z is a smooth divisor of V(Z).

theorem AlgebraicGeometry.IsSncAt.exists_isSncAt_comap {k : Type u} [Field k] {X : Scheme} (f : X ⟶ Spec ↧k) [Smooth f] {E : X.DivisorFamily} {Z : X.IdealSheafData} {w : ↥Z.subscheme} {n : ℕ} {z : Fin n → ↑(X.presheaf.stalk (Z.subschemeι w))} (h : E.IsSncAt (Z.subschemeι w) z) {s : Finset (Fin n)} (hZ : Z.stalkIdeal (Z.subschemeι w) = Ideal.span (z '' ↑s)) (hno : ∀ (i : E.ι), Z.subschemeι w ∈ (E.component i).support → ¬(E.component i).stalkIdeal (Z.subschemeι w) ≤ Z.stalkIdeal (Z.subschemeι w)) :
∃ (m : ℕ) (σ : Fin m → Fin n), Function.Injective σ ∧ (∀ (l : Fin m), σ l ∉ s) ∧ (E.comap Z.subschemeι).IsSncAt w fun (l : Fin m) => (CategoryTheory.ConcreteCategory.hom (Scheme.Hom.stalkMap Z.subschemeι w)) (z (σ l))

At a point w of V(Z) over x = ι w: if no component through x contains Z near x, the restricted family E|_Z = E.comap ι satisfies Kollár's (1)–(3) at w with coordinates the images of the z_l, l ∉ s — enumerated by an injective σ : Fin m → Fin n with values outside s.

theorem AlgebraicGeometry.HasSncWith.isSnc_comap {k : Type u} [Field k] {X : Scheme} (f : X ⟶ Spec ↧k) [Smooth f] {E : X.DivisorFamily} {Z : X.IdealSheafData} (h : E.HasSncWith Z) (hno : ∀ x ∈ Z.support, ∀ (i : E.ι), x ∈ (E.component i).support → ¬(E.component i).stalkIdeal x ≤ Z.stalkIdeal x) :

Kollár's "if E does not contain Z, then E|_Z is again a simple normal crossing divisor on Z" [Kol07, Definition 24]: if Z has simple normal crossings with E and no component of E contains Z near any point of Z, the inverse image family E.comap ι on V(Z) is a simple normal crossing divisor.