Documentation

Hironaka.Resolution.Algebraic.OrderReduction.EmptyIndifferentStep2

Step 2 of order reduction is indifferent to empty boundary members #

Kollár's convention [Kol07, 32] and the reindexing of [Kol07, 34.1]: deleting unit-ideal members of the boundary changes nothing. This module proves it for the maximal-contact case of [Kol07, Theorem 103] (Hironaka.BO.maxContactCase, Steps 1–2 of the proof) under two hypotheses on the boundary-clearing data of [Kol07, Lemma 102] at every mark: hind, the rounds at matched positions agree (BDFamily.IndifferentToEmptyMembers), and hnil, the round of a unit member is nil (BDFamily.NilAtUnitMember, Hironaka/Resolution/Algebraic/OrderReduction/EmptyIndifferentFunctor.lean). Both hold for the boundary-clearing data of Hironaka/Resolution/Algebraic/BoundaryClearing/.

The abbreviation Triple.withBoundary used throughout is defined in Hironaka/Resolution/Algebraic/OrderReduction/EmptyIndifferentFunctor.lean. The globalised functor is treated in Hironaka/Resolution/Algebraic/OrderReduction/EmptyIndifferentGlobal.lean.

Counting the surviving positions #

noncomputable def Hironaka.BO.erasureCount {X : AlgebraicGeometry.Scheme} (E E' : X.DivisorFamily) (e : E'.ι ↪o E.ι) (j : ℕ) :

The number of members of E' whose partner in E along e sits at a position below j: the number of Step 2.1 rounds of (X, I, E') matched by the first j rounds of (X, I, E). Not in the sources; it makes the reindexing of [Kol07, 34.1] explicit.

Equations
Instances For
    theorem Hironaka.BO.erasureCount_succ_of_notMem {X : AlgebraicGeometry.Scheme} (E E' : X.DivisorFamily) (e : E'.ι ↪o E.ι) {j : ℕ} (hj : j < Fintype.card E.ι) (h : E.nthIdx ⟨j, hj⟩ ∉ Set.range ⇑e) :
    erasureCount E E' e (j + 1) = erasureCount E E' e j

    A position of E outside the range of e (a deleted member) adds no matched round.

    theorem Hironaka.BO.erasureCount_of_mem {X : AlgebraicGeometry.Scheme} (E E' : X.DivisorFamily) (e : E'.ι ↪o E.ι) {j : ℕ} (hj : j < Fintype.card E.ι) {i' : E'.ι} (h : e i' = E.nthIdx ⟨j, hj⟩) :
    erasureCount E E' e j = ↑((monoEquivOfFin E'.ι ⋯).symm i')

    At a matched position j = e i', the count is the position of i' in E'.

    theorem Hironaka.BO.erasureCount_succ_of_mem {X : AlgebraicGeometry.Scheme} (E E' : X.DivisorFamily) (e : E'.ι ↪o E.ι) {j : ℕ} (hj : j < Fintype.card E.ι) {i' : E'.ι} (h : e i' = E.nthIdx ⟨j, hj⟩) :
    erasureCount E E' e (j + 1) = ↑((monoEquivOfFin E'.ι ⋯).symm i') + 1

    After a matched position j = e i', the count is the position of i' in E' plus one.

    After all positions of E, every member of E' is matched.

    Step 2.1 #

    theorem Hironaka.BO.nth_induced_eq_top {k : Type u} [Field k] [CharZero k] {m : ℕ} (T : AlgebraicGeometry.Triple k) (E' : T.X.left.DivisorFamily) (e : E'.ι ↪o T.E.ι) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (S : T.X.left.BlowUpSequence) (hS : S.IsOrderSeq (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I T.E m) {j : ℕ} (hj : j < Fintype.card T.E.ι) (hmem : T.E.nthIdx ⟨j, hj⟩ ∉ Set.range ⇑e) (hj₁ : j < Fintype.card (T.induced S hS (Fin.last S.length)).E.ι) :
    (T.induced S hS (Fin.last S.length)).E.nth ⟨j, hj₁⟩ = ⊤

    At the end of any smooth blow-up sequence of order m, the member at a deleted position of E is the unit ideal, being its birational transform (component_originalIdx, strictTransformSeq_top).

    theorem Hironaka.BO.step21Seq_round_indifferent {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (hn : T.HasDimLE n) (hmax : T.I.maxOrd ≤ ↑m) (bdm : (j : ℕ) → BDData n m j) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (hn₂ : (T.withBoundary E' hsnc').HasDimLE n) (hmax₂ : (T.withBoundary E' hsnc').I.maxOrd ≤ ↑m) (hind : BDFamily.IndifferentToEmptyMembers bdm) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (S : T.X.left.BlowUpSequence) (hS : S.IsOrderSeq (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I T.E m) (hne : S.NoEmptyCenters) (hS₂ : S.IsOrderSeq ((T.withBoundary E' hsnc').X.left ↘ AlgebraicGeometry.Spec ↧k) (T.withBoundary E' hsnc').I (T.withBoundary E' hsnc').E m) {j j' : ℕ} (hj : j < Fintype.card T.E.ι) (hj' : j' < Fintype.card E'.ι) (hpos : e (E'.nthIdx ⟨j', hj'⟩) = T.E.nthIdx ⟨j, hj⟩) :
    ((bdm j).functor k).seq (T.induced S hS (Fin.last S.length)) ⋯ = ((bdm j').functor k).seq ((T.withBoundary E' hsnc').induced S hS₂ (Fin.last S.length)) ⋯

    The rounds of the boundary-clearing data at matched positions of the two induced boundaries agree: hind on the triple induced by the common sequence, with the deletion carried to the induced boundaries (exists_isTopErasure_totalTransformSeq) and the positions by monoEquivOfFin_totalTransformSeq_of_lt.

    theorem Hironaka.BO.step21Seq_succ_indifferent_aux {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (hn : T.HasDimLE n) (hmax : T.I.maxOrd ≤ ↑m) (bdm : (j : ℕ) → BDData n m j) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (hn₂ : (T.withBoundary E' hsnc').HasDimLE n) (hmax₂ : (T.withBoundary E' hsnc').I.maxOrd ≤ ↑m) (hind : BDFamily.IndifferentToEmptyMembers bdm) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (σ : { S : T.X.left.BlowUpSequence // S.IsOrderSeq (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I T.E m ∧ S.NoEmptyCenters }) (σ₂ : { S : (T.withBoundary E' hsnc').X.left.BlowUpSequence // S.IsOrderSeq ((T.withBoundary E' hsnc').X.left ↘ AlgebraicGeometry.Spec ↧k) (T.withBoundary E' hsnc').I (T.withBoundary E' hsnc').E m ∧ S.NoEmptyCenters }) (hσ : ↑σ = ↑σ₂) {j j' : ℕ} (hj : j < Fintype.card T.E.ι) (hj' : j' < Fintype.card E'.ι) (hpos : e (E'.nthIdx ⟨j', hj'⟩) = T.E.nthIdx ⟨j, hj⟩) :
    (↑σ).concat (((bdm j).functor k).seq (T.induced ↑σ ⋯ (Fin.last (↑σ).length)) ⋯) = (↑σ₂).concat (((bdm j').functor k).seq ((T.withBoundary E' hsnc').induced ↑σ₂ ⋯ (Fin.last (↑σ₂).length)) ⋯)

    The inductive step at a matched position, on the whole Step 2.1 values: equal sequences after j and j' rounds give equal sequences after the next round.

    theorem Hironaka.BO.step21Seq_indifferent {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (hn : T.HasDimLE n) (hmax : T.I.maxOrd ≤ ↑m) (bdm : (j : ℕ) → BDData n m j) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (hn₂ : (T.withBoundary E' hsnc').HasDimLE n) (hmax₂ : (T.withBoundary E' hsnc').I.maxOrd ≤ ↑m) (hind : BDFamily.IndifferentToEmptyMembers bdm) (hnil : BDFamily.NilAtUnitMember bdm) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (j : ℕ) :
    ↑(step21Seq T hn hmax bdm j) = ↑(step21Seq (T.withBoundary E' hsnc') hn₂ hmax₂ bdm (erasureCount T.E E' e j))

    The Step 2.1 sequence of (X, I, E) after j rounds is the Step 2.1 sequence of (X, I, E') after the matched number of rounds ([Kol07, 104, Step 2.1] with the conventions [Kol07, 32] and [Kol07, 34.1]): a deleted member's round is nil (hnil), a surviving member's round is its partner's (hind).

    Step 2.2 and Step 2 #

    theorem Hironaka.BO.step22Seq_indifferent_aux {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (bd : (m j : ℕ) → BDData n m j) (hm : 1 ≤ m) (hind : ∀ (m : ℕ), BDFamily.IndifferentToEmptyMembers (bd m)) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (S : T.X.left.BlowUpSequence) (hS : S.IsOrderSeq (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I T.E m) (hS₂ : S.IsOrderSeq ((T.withBoundary E' hsnc').X.left ↘ AlgebraicGeometry.Spec ↧k) (T.withBoundary E' hsnc').I (T.withBoundary E' hsnc').E m) {H : T.X.left.IdealSheafData} (hsnc : ((S.exceptionalFamily T.E).append (S.strictTransformSeq H (Fin.last S.length))).IsSnc) (hsnc₂ : ((S.exceptionalFamily E').append (S.strictTransformSeq H (Fin.last S.length))).IsSnc) {j j' : ℕ} (hj : j = Fintype.card (S.exceptionalFamily T.E).ι) (hj' : j' = Fintype.card (S.exceptionalFamily E').ι) (hT₂ : AlgebraicGeometry.Triple.BDClass n m j (step22TripleOfSeq T S hS hsnc)) (hT₂' : AlgebraicGeometry.Triple.BDClass n m j' (step22TripleOfSeq (T.withBoundary E' hsnc') S hS₂ hsnc₂)) :
    (step22Functor bd m j hm).seq (step22TripleOfSeq T S hS hsnc) hT₂ = (step22Functor bd m j' hm).seq (step22TripleOfSeq (T.withBoundary E' hsnc') S hS₂ hsnc₂) hT₂'

    Step 2.2 on the two input triples built from the same Step 2.1 sequence agree ([Kol07, 104, Step 2.2] with the reindexing of [Kol07, 34.1]): their boundaries F_r + H_r and F'_r + H_r are matched by a surjective order embedding, no member being deleted (exists_orderEmbedding_exceptionalFamily), so hind at the mark s(m) identifies the re-tuned values at the positions of H_r; below the mark both are nil.

    theorem Hironaka.BO.step2Seq_indifferent_aux {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (hn : T.HasDimLE n) (hmax : T.I.maxOrd ≤ ↑m) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (bd : (m j : ℕ) → BDData n m j) (hm : 1 ≤ m) {H : T.X.left.IdealSheafData} (hH : AlgebraicGeometry.IsSmoothDivisor H) (hle : AlgebraicGeometry.Scheme.IdealSheafData.IsMaximalContact (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I m H) (hind : ∀ (m : ℕ), BDFamily.IndifferentToEmptyMembers (bd m)) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (S₂ : (T.withBoundary E' hsnc').X.left.BlowUpSequence) (hS₂ : S₂.IsOrderSeq ((T.withBoundary E' hsnc').X.left ↘ AlgebraicGeometry.Spec ↧k) (T.withBoundary E' hsnc').I (T.withBoundary E' hsnc').E m) (e₁ : S₂ = ↑(step21Seq T hn hmax (bd m) (Fintype.card T.E.ι))) (hsnc₂ : ((S₂.exceptionalFamily E').append (S₂.strictTransformSeq H (Fin.last S₂.length))).IsSnc) (j' : ℕ) (hj' : j' = Fintype.card (S₂.exceptionalFamily E').ι) (hT₂' : AlgebraicGeometry.Triple.BDClass n m j' (step22TripleOfSeq (T.withBoundary E' hsnc') S₂ hS₂ hsnc₂)) :
    S₂.concat ((step22Functor bd m j' hm).seq (step22TripleOfSeq (T.withBoundary E' hsnc') S₂ hS₂ hsnc₂) hT₂') = step2Seq T hn hmax bd hm hH hle

    Step 2 on (X, I, E'), generalised over its Step 2.1 sequence S₂ with S₂ equal to the Step 2.1 sequence of (X, I, E): it is Step 2 on (X, I, E).

    theorem Hironaka.BO.step2Seq_indifferent {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (hn : T.HasDimLE n) (hmax : T.I.maxOrd ≤ ↑m) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (hn₂ : (T.withBoundary E' hsnc').HasDimLE n) (hmax₂ : (T.withBoundary E' hsnc').I.maxOrd ≤ ↑m) (bd : (m j : ℕ) → BDData n m j) (hm : 1 ≤ m) {H : T.X.left.IdealSheafData} (hH : AlgebraicGeometry.IsSmoothDivisor H) (hle : AlgebraicGeometry.Scheme.IdealSheafData.IsMaximalContact (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I m H) (hind : ∀ (m : ℕ), BDFamily.IndifferentToEmptyMembers (bd m)) (hnil : ∀ (m : ℕ), BDFamily.NilAtUnitMember (bd m)) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (hle₂ : AlgebraicGeometry.Scheme.IdealSheafData.IsMaximalContact ((T.withBoundary E' hsnc').X.left ↘ AlgebraicGeometry.Spec ↧k) (T.withBoundary E' hsnc').I m H) :
    step2Seq T hn hmax bd hm hH hle = step2Seq (T.withBoundary E' hsnc') hn₂ hmax₂ bd hm hH hle₂

    Step 2 of the proof of [Kol07, Theorem 103] on (X, I, E) and on (X, I, E') agree, for E' obtained from E by deleting unit members ([Kol07, 104, Steps 2.1–2.2] with the conventions [Kol07, 32] and [Kol07, 34.1]).

    The maximal-contact case #

    theorem Hironaka.BO.maxContactCase_indifferentToEmptyMembers {k : Type u} [Field k] [CharZero k] {n m : ℕ} (T : AlgebraicGeometry.Triple k) (hT : AlgebraicGeometry.Triple.BOClass n m T) {H : T.X.left.IdealSheafData} (hH : AlgebraicGeometry.IsSmoothDivisor H) (hle : AlgebraicGeometry.Scheme.IdealSheafData.IsMaximalContact (T.X.left ↘ AlgebraicGeometry.Spec ↧k) T.I m H) (bd : (m j : ℕ) → BDData n m j) (hind : ∀ (m : ℕ), BDFamily.IndifferentToEmptyMembers (bd m)) (hnil : ∀ (m : ℕ), BDFamily.NilAtUnitMember (bd m)) (E' : T.X.left.DivisorFamily) (hsnc' : E'.IsSnc) (e : E'.ι ↪o T.E.ι) (hmem : ∀ (i : E'.ι), T.E.component (e i) = E'.component i) (htop : ∀ b ∉ Set.range ⇑e, T.E.component b = ⊤) (hT' : AlgebraicGeometry.Triple.BOClass n m { X := T.X, smoothOfRelativeDimension := ⋯, I := T.I, isNonzeroEverywhere := ⋯, E := E', isSnc := hsnc' }) :
    maxContactCase T hT hH hle bd = maxContactCase { X := T.X, smoothOfRelativeDimension := ⋯, I := T.I, isNonzeroEverywhere := ⋯, E := E', isSnc := hsnc' } hT' hH hle bd

    The maximal-contact case of [Kol07, Theorem 103] is indifferent to empty boundary members ([Kol07, 32] and the reindexing of [Kol07, 34.1] for Steps 1–2 of the proof): for a triple of BOClass n m with a smooth hypersurface H of maximal contact, and boundary-clearing data at every mark that are indifferent to empty members (hind) and nil at a unit member (hnil), deleting unit members of E does not change BO^H_{n,m}(X, I, E). Through the case split of maxContactCase: at the mark, Step 2 on the tuned triples (step2Seq_indifferent; tuning keeps E); below the mark both values are nil.