Documentation

Hironaka.Resolution.Analytic.OrderReduction.Modified.StepAAlign

The rounds on the nonmonomial part: the empty-link lemma and the alignment of two descents #

The empty-link lemma: the value of the order reduction BO_{n,d} on an open where the ideal has order < d everywhere is the empty list, since its centres lie where the order is ≥ d ([Kol07, Definition 66 (4′)], the order clause of the family) and none of them is empty ([Kol07, 32], the absence of empty centres), so there is no first centre (BOanFam.seqOn_eq_nil, BState.roundValue_eq_nil). Hence a link of the descent at a bound d above the maximal order of N(𝓘) appends nothing: the list of the state is only restricted (BState.descentLink_eraseEmpty_of_roundValue_nil).

The alignment of two descents (descentStateAux_rel): along a local analytic isomorphism h : N → M, a descent over N for the pulled-back triple from a bound DX along a chain X, and a descent over M from a bound D ≤ DX along a chain W with h(X j) ⊆ W (j − (DX − D)), produce lists which agree up to empty blow-ups after pulling back: the first DX − D links over N are empty (the bound D holds on X j through h), and from then on the two descents run at the same bound and descentLink_rel carries the relation link by link (the bounds identified by BState.castBound). This is the inductive engine of the compatibility of the values, of the independence of the value from the outer open and the chain, and of the commutation with local isomorphisms (the second condition of [Kol07, 34.1]); the applications are in StepACompat.lean, StepAIndep.lean and StepAComm.lean.

theorem Hironaka.Manifold.BOanFam.seqOn_eq_nil {𝕜 : Type} [RCLike 𝕜] {n d : ℕ} (bo : BOanFam 𝕜 n d) {X : AnalyticManifold 𝕜 (Fin n → 𝕜)} (S : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) X) (hS : Manifold.AnalyticTriple.BOClass d S) (U : TopologicalSpace.Opens X.carrier) (hU : IsCompact (closure ↑U)) (hlt : ∀ x ∈ ↑U, Manifold.IdealSheaf.ord S.I x < ↑d) :

The empty-link lemma ([Kol07, Definition 66 (4′)] with [Kol07, 32]): the value of BO_{n,d} on an open where ord 𝓘 < d everywhere is the empty list, since a first centre would lie where the order is ≥ d (isOfOrderGe, ordAlongIdeal_le_ord_of_mem_support) and be nonempty (noEmptyCenters).

theorem Hironaka.Manifold.BMOmod.BState.roundValue_eq_nil {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M} {m : ℕ} (bo : (d : ℕ) → BOanFam 𝕜 n d) (hT : Manifold.AnalyticTriple.BMOClass m T) {W : TopologicalSpace.Opens M.carrier} {d : ℕ} (st : BState T m W d) {V : TopologicalSpace.Opens M.carrier} (hV : IsCompact (closure ↑V)) (hVW : closure ↑V ⊆ ↑W) (hd : 1 ≤ d) {D : ℕ} (hb : NonmonomialOrdLe (ChainState.inducedTriple T m st.toChainState) D) (hDd : D < d) :

The empty-link lemma at a link of the descent: when the invariant holds at a bound D < d, the value of the round is the empty list.

The invariant through eraseEmpty and along pull-backs #

theorem Hironaka.Manifold.BMOmod.nonmonomialOrdLe_pullback {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) {N : AnalyticManifold 𝕜 (Fin n → 𝕜)} {S : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M} {D : ℕ} (hb : NonmonomialOrdLe S D) (g : AnalyticMap N M) (hg : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) ⊤ ⇑g) :

The order bound on N(𝓘) pulls back along local analytic isomorphisms (NonmonomialComap, ord_pullback_of_isLocalDiffeomorphAt).

theorem Hironaka.Manifold.BMOmod.NonmonomialOrdLe.of_induced_eq {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {X : AnalyticManifold 𝕜 (Fin n → 𝕜)} {TW : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) X} {s : ℕ} {L₁ L₂ : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) X} (e : L₁ = L₂) (hL₁ : L₁.toSuccession.IsOfOrderGe TW.I s TW.F.idealSheaf) (hL₂ : L₂.toSuccession.IsOfOrderGe TW.I s TW.F.idealSheaf) {D : ℕ} (hb : NonmonomialOrdLe (TW.induced s L₁ hL₁) D) :
NonmonomialOrdLe (TW.induced s L₂ hL₂) D

The bound transports along an equality of lists (a subst).

The bound at the induced triple of the empty list is the bound on the triple (induced_nil).

The ideal N of the induced triple is the pull-back of the ideal N of the induced triple of the cleaned list along eraseEmptyLast ([Kol07, 32] and its counterpart for boundary members): the induced triple is that pull-back up to empty boundary members (induced_eq_pullback_induced_eraseEmpty), N ignores them (nonmonomialTriple_eq_of_isEmptyExtension) and commutes with the pull-back (NonmonomialComap). Every identification goes through the projection lemmas by congrArg.

The bound at the induced triple of the cleaned list gives the bound at the induced triple of the list (nonmonomialTriple_induced_I_eq_pullback_eraseEmpty, ord_pullback_of_isLocalDiffeomorphAt).

The converse: the bound at the induced triple of the list gives the bound at the induced triple of the cleaned list (eraseEmptyLast is onto).

Re-typing a state at an equal bound #

def Hironaka.Manifold.BMOmod.BState.castBound {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) {W : TopologicalSpace.Opens M.carrier} {d d' : ℕ} (e : d = d') (st : BState T m W d) :
BState T m W d'

The same state at a propositionally equal bound (the bounds of two aligned descents are equal natural numbers, not the same terms).

Equations
Instances For
    theorem Hironaka.Manifold.BMOmod.BState.castBound_L {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M : AnalyticManifold 𝕜 (Fin n → 𝕜)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M} {m : ℕ} {W : TopologicalSpace.Opens M.carrier} {d d' : ℕ} (e : d = d') (st : BState T m W d) :
    (castBound T m e st).L = st.L

    The alignment of two descents #

    noncomputable def Hironaka.Manifold.BMOmod.alignRHS {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M N : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) (hT : Manifold.AnalyticTriple.BMOClass m T) (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (t : ℕ) (hm : 1 ≤ m) (hmt : m ≤ t) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) ⊤ ⇑h) (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) (X : ℕ → TopologicalSpace.Opens N.carrier) (j k : ℕ) (hk : k ≤ r) (hkt : k ≤ D + 1 - t) (hXWk : ⇑h '' ↑(X j) ⊆ ↑(W k)) :

    The right-hand side of the alignment: the k-th state of the descent over M, pulled back along h to the j-th open of the chain over N and cleaned of empty blow-ups (its type does not depend on k).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Hironaka.Manifold.BMOmod.alignRHS_congr {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M N : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) (hT : Manifold.AnalyticTriple.BMOClass m T) (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (t : ℕ) (hm : 1 ≤ m) (hmt : m ≤ t) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) ⊤ ⇑h) (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) (X : ℕ → TopologicalSpace.Opens N.carrier) {j k k' : ℕ} (e : k = k') (hk : k ≤ r) (hkt : k ≤ D + 1 - t) (hXWk : ⇑h '' ↑(X j) ⊆ ↑(W k)) (hk' : k' ≤ r) (hkt' : k' ≤ D + 1 - t) (hXWk' : ⇑h '' ↑(X j) ⊆ ↑(W k')) :
      alignRHS T m hT bo ⋯ ⋯ t hm hmt h hh W hW r hWsub D hD X j k hk hkt hXWk = alignRHS T m hT bo ⋯ ⋯ t hm hmt h hh W hW r hWsub D hD X j k' hk' hkt' hXWk'

      alignRHS depends on the index k only through its value (a substitution).

      theorem Hironaka.Manifold.BMOmod.alignRHS_zero {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M N : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) (hT : Manifold.AnalyticTriple.BMOClass m T) (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (t : ℕ) (hm : 1 ≤ m) (hmt : m ≤ t) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) ⊤ ⇑h) (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) (X : ℕ → TopologicalSpace.Opens N.carrier) (j : ℕ) (hkt : 0 ≤ D + 1 - t) (hXWk : ⇑h '' ↑(X j) ⊆ ↑(W 0)) :
      alignRHS T m hT bo ⋯ ⋯ t hm hmt h hh W hW r hWsub D hD X j 0 ⋯ hkt hXWk = AnalyticManifold.BlowUpSequence.nil (N.restrict (X j))

      At k = 0 the right-hand side is nil (the initial state has no blow-ups).

      theorem Hironaka.Manifold.BMOmod.descentStateAux_rel {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {M N : AnalyticManifold 𝕜 (Fin n → 𝕜)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) M) (m : ℕ) (hT : Manifold.AnalyticTriple.BMOClass m T) (bo : (d : ℕ) → BOanFam 𝕜 n d) (hcomp : NonmonomialComap (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (hid : NonmonomialTransformIdentity (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜))) (t : ℕ) (hm : 1 ≤ m) (hmt : m ≤ t) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) ⊤ ⇑h) (hT' : Manifold.AnalyticTriple.BMOClass m (T.pullback h hh)) (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) (X : ℕ → TopologicalSpace.Opens N.carrier) (hX : ∀ (j : ℕ), IsCompact (closure ↑(X j))) (rX : ℕ) (hXsub : ∀ j < rX, closure ↑(X (j + 1)) ⊆ ↑(X j)) (DX : ℕ) (hDX : ∀ x ∈ ↑(X 0), Manifold.IdealSheaf.ord (BMO.nonmonomialTriple (T.pullback h hh)).I x ≤ ↑DX) (hDD : D ≤ DX) (hrr : rX ≤ DX - D + r) (hXW : ∀ (j : ℕ), ⇑h '' ↑(X j) ⊆ ↑(W (j - (DX - D)))) (j : ℕ) (hj : j ≤ rX) (hjt : j ≤ DX + 1 - t) :
      (descentStateAux (T.pullback h hh) m hT' bo ⋯ ⋯ t hm hmt X hX rX hXsub DX hDX j hj hjt).L.eraseEmpty = alignRHS T m hT bo ⋯ ⋯ t hm hmt h hh W hW r hWsub D hD X j (j - (DX - D)) ⋯ ⋯ ⋯

      The alignment of two descents (the inductive engine of the compatibility of the values and of the second condition of [Kol07, 34.1] for the rounds): the j-th state of the descent over N (bound DX, chain X) and the (j − (DX − D))-th state of the descent over M (bound D ≤ DX, chain W), pulled back along h, agree up to empty blow-ups. For j < DX − D the link over N runs at a bound above D, which bounds ord N on X j through h, so its value is the empty list (the empty-link lemma) and both sides stay empty; from j = DX − D on the two descents run at the same bound and descentLink_rel carries the relation.