Documentation

Hironaka.Resolution.Analytic.OrderReduction.Modified.ClauseClosedEmbedding

The modified functor commutes with closed embeddings of empty divisor in codimension one #

Włodarczyk proves that the modified resolution commutes with closed embeddings by running the algorithm's own descent ([Wlo09, §7.1]): for τ : S ↪ M a closed hypersurface with 𝓘 ⊇ I_S and the empty boundary, the coordinates defining S are tangent directions of the ideal, the algorithm passes to the hypersurface V(u₁) and replaces the ideal with its restriction, so the run on M is the run on S pushed forward. In codimension one no cover and no induction enter: S itself is a global hypersurface of maximal contact of (M, 𝓘, ∅), so the value of the modified functor is the value of the modified first step with the class's hypersurface replaced by S, and that value is the push-forward of the value of the functor one dimension down. This is the argument of BOanFamOfInput_commutesWithClosedEmbeddingsOfEmptyDivisorFam (ClosedEmbeddingFam.lean; Kollár's [Kol07, Theorem 103 (3)], proved in [Kol07, Theorem 103, Step 2.4]), both being instances of BO.hfStep2FamOn_eq_pushforwardRestrict_of_global, at the modified datum stepBData, plus two facts about the modified run. The general codimension is the chaining along a flag of hypersurfaces of [Kol07, 108] (Functor/ChainClosedEmbeddingChain.lean); its corollary for a tower, BMOmodFam_commutesWithClosedEmbeddingsOfEmptyDivisorFam_all in Functor/ChainClosedEmbeddingZero.lean, takes the codimension-one commutation as a hypothesis, which Hironaka/Resolution/Analytic/Wlo09/Concrete.lean supplies from this module.

Sources: [Wlo09, §7.1]; [Kol07, 34.3] (commutation with closed embeddings), [Kol07, 108] (the reduction to a hypersurface; every local equation of S lies in 𝓘, so the maximal order is 1), [Kol07, Theorem 103 (3)] and [Kol07, Theorem 103, Step 2.4], the proof of [Kol07, Lemma 102]. The statements themselves are not in the sources.

theorem Hironaka.Manifold.HFamData.fam_seqOn_congr {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {s : ℕ} (hf : HFamData ψ₀ s) {T₁ T₂ : Manifold.AnalyticTriple ψ₀ M} (e : T₁ = T₂) (h₁ : Manifold.AnalyticTriple.BOClass s T₁) (h₂ : Manifold.AnalyticTriple.BOClass s T₂) (j₁ : T₁.F.ι) (j₂ : T₂.F.ι) (hj : j₁ ≍ j₂) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :
(hf.fam T₁ h₁ j₁).seqOn U hU = (hf.fam T₂ h₂ j₂).seqOn U hU

The value of the data of the step depends on the triple and the member only (a substitution; the analogue of BDanFamData.fam_seqOn_congr).

theorem AnalyticManifold.BlowUpSequence.pushforwardRestrict_nil {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {S : Set M.carrier} {s : ℕ} (hS : Manifold.IsClosedSubmanifold ψ₀ S s) (U : TopologicalSpace.Opens M.carrier) :

The per-open push-forward of the empty list is the empty list (pushforwardRestrict_eq, pullback_nil, pushforward_nil).

theorem Manifold.IsClosedSubmanifold.ord_le_one_of_idealSheaf_le {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {S : Set M.carrier} (hS : IsClosedSubmanifold ψ₀ S 1) (I : M.IdealSheaf) (hle : hS.idealSheaf ≤ I) (x : M.carrier) :

An ideal sheaf containing the ideal of a smooth hypersurface has order ≤ 1 everywhere (the remark in the proof of [Kol07, 108]: every local equation of S lies in 𝓘, so the maximal order is 1): off S it is the unit ideal (stalkIdeal_idealSheaf_of_notMem), on S it contains a local equation, of order 1.

theorem Manifold.AnalyticTriple.boClass_one_of_idealSheaf_le {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {S : Set M.carrier} (hS : IsClosedSubmanifold ψ₀ S 1) (I : M.IdealSheaf) (hI : IdealSheaf.IsNonzeroEverywhere I) (hle : hS.idealSheaf ≤ I) :
BOClass 1 { I := I, isNonzeroEverywhere := hI, F := HypersurfaceFamily.empty M.carrier, isSnc := ⋯ }

The triple (M, 𝓘 ⊇ I_S, ∅) is in the class BO_{n,1} (ord_le_one_of_idealSheaf_le for the order clause; no member).

theorem Hironaka.Manifold.AnalyticFamilyFunctor.composeOn_eq_of_firstList_eq_nil {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] [FiniteDimensional 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {Dom₁ Dom₂ : {M : AnalyticManifold 𝕜 E} → Manifold.AnalyticTriple ψ₀ M → Prop} (F : AnalyticFamilyFunctor ψ₀ fun {M : AnalyticManifold 𝕜 E} => Dom₁) (G : AnalyticFamilyFunctor ψ₀ fun {M : AnalyticManifold 𝕜 E} => Dom₂) (s : ℕ) (hF : ∀ {M : AnalyticManifold 𝕜 E} (T : Manifold.AnalyticTriple ψ₀ M) (hT : Dom₁ T) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)), ((F.fam T hT).seqOn U hU).toSuccession.IsOfOrderGe (T.pullback (M.inclusion U) ⋯).I s (T.pullback (M.inclusion U) ⋯).F.idealSheaf) (hFG : ∀ {M : AnalyticManifold 𝕜 E} (T : Manifold.AnalyticTriple ψ₀ M) (hT : Dom₁ T) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)), Dom₂ ((T.pullback (M.inclusion U) ⋯).induced s ((F.fam T hT).seqOn U hU) ⋯)) (hG : G.CommutesWithLocalIsos) (hDom : ClassPullbackClosed fun {M : AnalyticManifold 𝕜 E} => Dom₂) {M : AnalyticManifold 𝕜 E} (T : Manifold.AnalyticTriple ψ₀ M) (hT : Dom₁ T) (hT₂ : Dom₂ T) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) (hnil : (F.fam T hT).seqOn (chainOpens (exhaustion M) (exhaustionIdx (exhaustion M) hU) 1 0) ⋯ = AnalyticManifold.BlowUpSequence.nil (M.restrict (chainOpens (exhaustion M) (exhaustionIdx (exhaustion M) hU) 1 0))) :
F.composeOn G s ⋯ ⋯ T hT U hU = (G.fam T hT₂).seqOn U hU

The composite when the first functor is idle: if the value of F on the outer chain open is the empty list, the composite's value on U is the value of G on U: shrinkAppend_nil, induced_nil, the commutation of G with the inclusion of the outer open (CommutesWithLocalIsos.seqOn_eq_of_image_eq), the composite restriction U ≤ W 1, the compatibility compat of G, and the deletions of empty blow-ups (the end of the proof of BOanFamOfInput_commutesWithClosedEmbeddingsOfEmptyDivisorFam in ClosedEmbeddingFam.lean, made generic).

theorem Hironaka.Manifold.BMOmod.descentStateAux_L_eq_nil_of_eq_zero {𝕜 : Type} [RCLike 𝕜] {n : ℕ} (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) (hT : Manifold.AnalyticTriple.BMOClass m T) (t : ℕ) (hm : 1 ≤ m) (hmt : m ≤ t) (W : ℕ → TopologicalSpace.Opens M.carrier) (hW : ∀ (k : ℕ), IsCompact (closure ↑(W k))) (r : ℕ) (hWsub : ∀ k < r, closure ↑(W (k + 1)) ⊆ ↑(W k)) (D : ℕ) (hD : ∀ x ∈ ↑(W 0), Manifold.IdealSheaf.ord (BMO.nonmonomialTriple T).I x ≤ ↑D) (j : ℕ) (hj : j ≤ r) (hjt : j ≤ D + 1 - t) (h : j = 0) :
(descentStateAux T m hT bo ⋯ ⋯ t hm hmt W hW r hWsub D hD j hj hjt).L = AnalyticManifold.BlowUpSequence.nil (M.restrict (W j))

The descent with 0 links is the initial state: its list is empty (BState.initialOf_L; the index is kept as a variable for the dependent rewrite).

theorem Hironaka.Manifold.BMOmod.stepAFamOn_eq_nil {𝕜 : Type} [RCLike 𝕜] {n : ℕ} (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) (hT : Manifold.AnalyticTriple.BMOClass m T) (t : ℕ) (hm : 1 ≤ m) (hmt : m ≤ t) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) (h : stepABound T U hU + 1 ≤ t) :
stepAFamOn T m hT bo ⋯ ⋯ t hm hmt U hU = AnalyticManifold.BlowUpSequence.nil (M.restrict U)

The rounds are idle when the bound is below the first round: the descent has D + 1 − t = 0 links, the chain state is the initial state and the value is the empty list (BState.initialOf_L, pullback_nil, eraseEmpty_nil).

theorem Hironaka.Manifold.BMOmod.stepACFunctor_seqOn_eq_nil {𝕜 : Type} [RCLike 𝕜] {n : ℕ} (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} (I : M.IdealSheaf) (hI : Manifold.IdealSheaf.IsNonzeroEverywhere I) (hord : ∀ (x : ↑↧M.carrier), Manifold.IdealSheaf.ord I x ≤ 1) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :
((stepACFunctor bo ⋯ ⋯).fam { I := I, isNonzeroEverywhere := hI, F := Manifold.HypersurfaceFamily.empty M.carrier, isSnc := ⋯ } ⋯).seqOn U hU = AnalyticManifold.BlowUpSequence.nil (M.restrict U)

The rounds and the monomial phase are idle on (M, 𝓘, ∅) with ord 𝓘 ≤ 1 (the situation of [Wlo09, §7.1], where the maximal order is 1 by the remark of [Kol07, 108]): with the empty boundary the nonmonomial part is 𝓘 itself (monomialPart_eq_top_of_activeMembers_eq_empty, monomialPart_mul_nonmonomialPart), so the round bound is ≤ 1 < 2 = t and the rounds give the empty list (stepAFamOn_eq_nil); the monomial phase has no active member (step2bPhase_of_not_nonempty); the composite is the second functor's value (composeOn_eq_of_firstList_eq_nil), the empty list.

theorem Hironaka.Manifold.BMOmod.coreModOn_eq_pushforwardRestrict_of_isNonzeroEverywhere {𝕜 : Type} [RCLike 𝕜] {n : ℕ} (R : AnalyticFamilyFunctor (ContinuousLinearEquiv.refl 𝕜 (Fin (n - 1) → 𝕜)) fun {M : AnalyticManifold 𝕜 (Fin (n - 1) → 𝕜)} => Manifold.AnalyticTriple.BMOClass 1) (hRi : R.IndifferentToEmptyMembers) {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (j : T.F.ι) (hT : Manifold.AnalyticTriple.BMOClass 1 T) {S : Set M.carrier} (hS : Manifold.IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) S 1) (hSj : T.F.hyp j = S) (hemp : ∀ (k : T.F.ι), k ≠ j → T.F.hyp k = ∅) (hJ : (Manifold.IdealSheaf.pullback ⇑hS.inclusionMap ⋯ T.I).IsNonzeroEverywhere) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :

The modified core at a member with empty stopped locus is the push-forward of the value of the functor one dimension down on the member (the proof of [Kol07, Lemma 102] in the modified form; the recursion of [Wlo09, Theorem 7.4.1]): on the member S := Eʲ of a boundary all of whose other members are empty, with the trace J := 𝓘|_S nonzero everywhere, the stopped locus Z_{−1}(𝓘, 1)(S) is empty (Zminus1_one_eq_empty_of_isNonzeroEverywhere: a stopped point would make J the zero ideal), so H⁺ = S (coreModOn_eq_of_eq) and the core is the value of R on the restricted triple pushed forward. The value of R on (S, J, ∅ + all-empty trace) is its value on (S, J, ∅) (hRi), and the push-forward of a list without empty centres, cleaned, is itself (noEmptyCenters_pushforwardRestrict).

theorem Hironaka.Manifold.BMOmod.stepBFunctor_seqOn_eq_pushforwardRestrict_of_global {𝕜 : Type} [RCLike 𝕜] {n : ℕ} (R : AnalyticFamilyFunctor (ContinuousLinearEquiv.refl 𝕜 (Fin (n - 1) → 𝕜)) fun {M : AnalyticManifold 𝕜 (Fin (n - 1) → 𝕜)} => Manifold.AnalyticTriple.BMOClass 1) (hRo : ∀ {N : AnalyticManifold 𝕜 (Fin (n - 1) → 𝕜)} (T' : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin (n - 1) → 𝕜)) N) (hT' : Manifold.AnalyticTriple.BMOClass 1 T') (U' : TopologicalSpace.Opens N.carrier) (hU' : IsCompact (closure ↑U')), ((R.fam T' hT').seqOn U' hU').toSuccession.IsOfOrderGe (T'.pullback (N.inclusion U') ⋯).I 1 (T'.pullback (N.inclusion U') ⋯).F.idealSheaf) (hRc : R.CommutesWithLocalIsos) (hRi : R.IndifferentToEmptyMembers) (bmo₁ : BMOanFam 𝕜 (n - 1) 1) {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} {S : Set M.carrier} (hS : Manifold.IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) S 1) (I : M.IdealSheaf) (hI : Manifold.IdealSheaf.IsNonzeroEverywhere I) (hle : hS.idealSheaf ≤ I) (hJ : (Manifold.IdealSheaf.pullback ⇑hS.inclusionMap ⋯ I).IsNonzeroEverywhere) (hT : Manifold.AnalyticTriple.BOClass 1 { I := I, isNonzeroEverywhere := hI, F := Manifold.HypersurfaceFamily.empty M.carrier, isSnc := ⋯ }) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :
((stepBFunctor R ⋯ ⋯ ⋯ bmo₁).fam { I := I, isNonzeroEverywhere := hI, F := Manifold.HypersurfaceFamily.empty M.carrier, isSnc := ⋯ } hT).seqOn U hU = AnalyticManifold.BlowUpSequence.pushforwardRestrict hS U ((R.fam { I := Manifold.IdealSheaf.pullback ⇑hS.inclusionMap ⋯ I, isNonzeroEverywhere := hJ, F := Manifold.HypersurfaceFamily.empty hS.toAnalyticManifold.carrier, isSnc := ⋯ } ⋯).seqOn (hS.preimageOpens U) ⋯)

The modified first step commutes with a global hypersurface of codimension one (Kol07, Theorem 103 (3) and [Kol07, Theorem 103, Step 2.4]; [Wlo09, §7.1]): on (M, 𝓘 ⊇ I_S, ∅) with S a closed hypersurface and J := 𝓘|_S nonzero everywhere, the value of stepBFunctor R … on U is the per-open push-forward of the value of R on (S, J, ∅) at U_S: the functor's value is the local functor's (stepBFunctor_fam_eq: S is a global hypersurface of maximal contact), and BO.hfStep2FamOn_eq_pushforwardRestrict_of_global applies at the datum stepBData, Step 2.2 at the single member S of ∅ + S being the modified core (greatestIdx_eq, HFamData.fam_seqOn_congr), which is the push-forward (coreModOn_eq_pushforwardRestrict_of_isNonzeroEverywhere).

theorem Hironaka.Manifold.BMOmod.modFunctor_commutesWithClosedEmbeddings_one {𝕜 : Type} [RCLike 𝕜] {n : ℕ} (R : AnalyticFamilyFunctor (ContinuousLinearEquiv.refl 𝕜 (Fin (n - 1) → 𝕜)) fun {M : AnalyticManifold 𝕜 (Fin (n - 1) → 𝕜)} => Manifold.AnalyticTriple.BMOClass 1) (hRo : ∀ {N : AnalyticManifold 𝕜 (Fin (n - 1) → 𝕜)} (T' : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin (n - 1) → 𝕜)) N) (hT' : Manifold.AnalyticTriple.BMOClass 1 T') (U' : TopologicalSpace.Opens N.carrier) (hU' : IsCompact (closure ↑U')), ((R.fam T' hT').seqOn U' hU').toSuccession.IsOfOrderGe (T'.pullback (N.inclusion U') ⋯).I 1 (T'.pullback (N.inclusion U') ⋯).F.idealSheaf) (hRc : R.CommutesWithLocalIsos) (hRi : R.IndifferentToEmptyMembers) (bmo₁ : BMOanFam 𝕜 (n - 1) 1) (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) :
(modFunctor R ⋯ ⋯ ⋯ bmo₁ bo ⋯ ⋯).CommutesWithClosedEmbeddingsOfEmptyDivisorFam R

The modified functor at dimension n commutes with closed embeddings of empty divisor in codimension one ([Wlo09, §7.1]; [Kol07, 108]; the predicate CommutesWithClosedEmbeddingsOfEmptyDivisorFam at s := 1, through the functor one dimension down R): for (M, 𝓘 ⊇ I_S, ∅) with S a closed hypersurface and J = 𝓘|_S, the value of modFunctor R … on U is the push-forward of the value of R on U_S. The order of 𝓘 is at most 1 by I_S ≤ 𝓘 (ord_le_one_of_idealSheaf_le, boClass_one_of_idealSheaf_le), the rounds and the monomial phase are idle (stepACFunctor_seqOn_eq_nil), so the composite is the value of the modified first step (composeOn_eq_of_firstList_eq_nil), which is the push-forward (stepBFunctor_seqOn_eq_pushforwardRestrict_of_global).

Every level of the tower commutes with closed embeddings of empty divisor in codimension one ([Wlo09, §7.1], the passage to the hypersurface V(u₁); [Kol07, 34.3], [Kol07, 108]; the predicate CommutesWithClosedEmbeddingsOfEmptyDivisorFam at s := 1): the level-n structure commutes through the level-(n − 1) structure. Level n + 1 is modFunctor_commutesWithClosedEmbeddings_one with R := the level-n functor (modTower_succ, by definition); level 0 is the empty list on both sides (S = ∅ in dimension 0; pushforwardRestrict_nil). Stated for BMOmodFamOfInput_of_hid, generic in the transform identity hid, and with no hypothesis on bo and bmo, the argument being the construction's own descent.