Documentation

Hironaka.Resolution.Analytic.Wlo09.Rounds

The rounds of order reduction along a shrinking chain: the resolution family #

Hironaka's Main Theorem II(N) [Hir64, p. 176] iterates order reduction with the maximal order d = max ord decreasing: run the order reduction of (π“˜, d) at the maximal order d, then again on the weak transform (whose order is < d), down to d = 1. Here each round is the value of the order-reduction family BO_{n,d} of [Kol07, Theorem 68] (BOanFam π•œ n d, the binder bo d) on the current derived triple, a CompatibleFamily whose sequences exist only on relatively compact opens; so the rounds are read along a shrinking chain of relatively compact opens: round d + 1 is read at Ξ© d, the derived triple is the induced triple at mark d + 1 (AnalyticTriple.induced, in the class of BO_{n,d} by the round's ord_lt), the chain is lifted to the round's last stage as the preimages under the proper composite blow-down, and the rounds from d are concatenated after the round's list pulled back to the open whose value is wanted. The recursion is one recursion on d over the current manifold (resolveFrom): the concatenation's second factor lives on the first factor's last stage by construction, so no stage transport is needed. The value on a relatively compact open U (resolveSeqOn) is the recursion along the canonical chain, d_U + 1 iterated shrinks of closure U inside the open {ord π“˜ ≀ d_U} (upper semicontinuity of the order, isOpen_setOf_ord_le; d_U the least bound of ord π“˜ on closure U, bddAbove_ord_on_compact), so that the triple restricted to the outermost open lies in the class of BO_{n,d_U} when d_U β‰₯ 1 (boClass_pullback_inclusion), with the empty blow-ups erased (the empty blow-up convention [Kol07, 32]). The opens of a fixed exhaustion alone would make the round count circular (the bound on the outermost open depends on the open chosen); the rounds above the order bound of an open are empty on it (the remark after [Kol07, Theorem 68]), which enters canonicity (Hironaka/Resolution/Analytic/Wlo09/Canonicity.lean), not the definition. The value along an arbitrary admissible chain (ResolveChain, resolveSeqOnAlong) is what canonicity compares.

This is WΕ‚odarczyk's locally finite principalization [Wlo09, Theorem 2.0.3 (1)], with the neighbourhoods U of the compact sets read as relatively compact opens, and the reduction of the maximal order of [Wlo09, Β§6, Step 2a]; Bierstone and Milman treat the non-compact case by relatively compact opens (the remark after [BM97, Theorem 1.6]). Hironaka/Resolution/Analytic/Wlo09/Canonicity.lean proves that the value does not depend on the chain and bundles the values into resolveFam.

Shrinking a compact inside an open (the chain's opens) #

theorem Hironaka.Manifold.locallyCompactSpace_std {π•œ : Type} [RCLike π•œ] {n : β„•} (M : AnalyticManifold π•œ (Fin n β†’ π•œ)) :

A manifold modelled on π•œβΏ is locally compact.

theorem Hironaka.Manifold.exists_shrinkBetween {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
βˆƒ (W : TopologicalSpace.Opens M.carrier), K βŠ† ↑W ∧ closure ↑W βŠ† ↑V ∧ IsCompact (closure ↑W)

Between a compact K and an open V βŠ‡ K there is a relatively compact open W with K βŠ† W and closure W βŠ† V (Mathlib's exists_open_between_and_isCompact_closure, the manifold being locally compact and Hausdorff, hence regular).

noncomputable def Hironaka.Manifold.shrinkBetween {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (K : Set M.carrier) (V : TopologicalSpace.Opens M.carrier) (hK : IsCompact K) (hKV : K βŠ† ↑V) :

A chosen open between a compact and an open containing it (Classical.choose of exists_shrinkBetween).

Equations
Instances For
    theorem Hironaka.Manifold.subset_shrinkBetween {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
    K βŠ† ↑(shrinkBetween K V hK hKV)
    theorem Hironaka.Manifold.closure_shrinkBetween_subset {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
    closure ↑(shrinkBetween K V hK hKV) βŠ† ↑V
    theorem Hironaka.Manifold.isCompact_closure_shrinkBetween {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
    IsCompact (closure ↑(shrinkBetween K V hK hKV))
    def Hironaka.Manifold.shrinkChainAux {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (K : Set M.carrier) (V : TopologicalSpace.Opens M.carrier) (hK : IsCompact K) (hKV : K βŠ† ↑V) :
    β„• β†’ { W : TopologicalSpace.Opens M.carrier // K βŠ† ↑W }

    The iterated shrinks of K inside V, each carrying K βŠ† W.

    Equations
    Instances For
      noncomputable def Hironaka.Manifold.shrinkChain {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (K : Set M.carrier) (V : TopologicalSpace.Opens M.carrier) (hK : IsCompact K) (hKV : K βŠ† ↑V) (j : β„•) :

      The iterated shrinks of a compact K inside an open V: shrinkChain K V hK hKV 0 ⋐ V, shrinkChain K V hK hKV (j + 1) ⋐ shrinkChain K V hK hKV j, every one relatively compact and containing K. The canonical chain of the resolution family is made of them.

      Equations
      Instances For
        theorem Hironaka.Manifold.subset_shrinkChain {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) (j : β„•) :
        K βŠ† ↑(shrinkChain K V hK hKV j)
        theorem Hironaka.Manifold.shrinkChain_zero {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
        shrinkChain K V hK hKV 0 = shrinkBetween K V hK hKV
        theorem Hironaka.Manifold.shrinkChain_succ {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) (j : β„•) :
        shrinkChain K V hK hKV (j + 1) = shrinkBetween K (shrinkChain K V hK hKV j) hK β‹―
        theorem Hironaka.Manifold.closure_shrinkChain_zero_subset {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
        closure ↑(shrinkChain K V hK hKV 0) βŠ† ↑V
        theorem Hironaka.Manifold.closure_shrinkChain_succ_subset {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) (j : β„•) :
        closure ↑(shrinkChain K V hK hKV (j + 1)) βŠ† ↑(shrinkChain K V hK hKV j)
        theorem Hironaka.Manifold.isCompact_closure_shrinkChain {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) (j : β„•) :
        IsCompact (closure ↑(shrinkChain K V hK hKV j))
        theorem Hironaka.Manifold.shrinkChain_succ_le {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) (j : β„•) :
        shrinkChain K V hK hKV (j + 1) ≀ shrinkChain K V hK hKV j
        theorem Hironaka.Manifold.shrinkChain_antitone {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) :
        Antitone (shrinkChain K V hK hKV)
        theorem Hironaka.Manifold.closure_shrinkChain_subset_of_lt {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {K : Set M.carrier} {V : TopologicalSpace.Opens M.carrier} (hK : IsCompact K) (hKV : K βŠ† ↑V) {i j : β„•} (h : i < j) :
        closure ↑(shrinkChain K V hK hKV j) βŠ† ↑(shrinkChain K V hK hKV i)

        The least order bound on a compact closure, and the open where it holds #

        noncomputable def Hironaka.Manifold.maxOrdOn {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :

        d_U, the least bound of ord π“˜ on the compact closure U (bddAbove_ord_on_compact): the maximal order of π“˜ on closure U when U is nonempty, 0 when U is empty. Hironaka's d_i, the maximal integer attained by the order [Hir64, Main Theorem II(N), p. 176].

        Equations
        Instances For
          theorem Hironaka.Manifold.ord_le_maxOrdOn {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) (x : M.carrier) :
          x ∈ closure ↑U β†’ Manifold.IdealSheaf.ord T.I x ≀ ↑(maxOrdOn T U hU)
          def Hironaka.Manifold.orderOpen {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (D : β„•) :

          The open {ord π“˜ ≀ D} (upper semicontinuity of the order, isOpen_setOf_ord_le), on which the rounds from D may start.

          Equations
          Instances For
            theorem Hironaka.Manifold.closure_subset_orderOpen {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :
            closure ↑U βŠ† ↑(orderOpen T (maxOrdOn T U hU))

            Chains of opens #

            theorem Hironaka.Manifold.chain_le_of_le {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier} {D : β„•} (hΞ©sub : βˆ€ (k : β„•), k + 1 < D β†’ closure ↑(Ξ© k) βŠ† ↑(Ξ© (k + 1))) {k j : β„•} (hkj : k ≀ j) (hj : j < D) :
            Ξ© k ≀ Ξ© j

            A chain with closure (Ξ© k) βŠ† Ξ© (k + 1) below D is monotone below D.

            theorem Hironaka.Manifold.chain_closure_subset_of_lt {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier} {D : β„•} (hΞ©sub : βˆ€ (k : β„•), k + 1 < D β†’ closure ↑(Ξ© k) βŠ† ↑(Ξ© (k + 1))) {k j : β„•} (hkj : k < j) (hj : j < D) :
            closure ↑(Ξ© k) βŠ† ↑(Ξ© j)
            def Hironaka.Manifold.traceOn {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} (O V : TopologicalSpace.Opens X.carrier) :

            The trace of an open V of X on the open submanifold X.restrict O.

            Equations
            Instances For

              One round: the list, the derived triple #

              theorem Hironaka.Manifold.boClass_succ_of_ord_le {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {d : β„•} (cur : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) X) (hord : βˆ€ (x : ↑↧X.carrier), Manifold.IdealSheaf.ord cur.I x ≀ ↑(d + 1)) (hfin : Finite { j : cur.F.ΞΉ // cur.F.hyp j β‰  βˆ… }) :

              A triple of order ≀ d + 1 everywhere with finitely many nonempty boundary members lies in the class of BO_{n,d+1} (the hypothesis max-ord I ≀ m of [Kol07, Theorem 68]).

              def Hironaka.Manifold.roundList {π•œ : Type} [RCLike π•œ] {n : β„•} (bo : (d : β„•) β†’ BOanFam π•œ n d) {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {d : β„•} (cur : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) X) (hcls : Manifold.AnalyticTriple.BOClass (d + 1) cur) (O : TopologicalSpace.Opens X.carrier) (hO : IsCompact (closure ↑O)) :

              The round's list: the value of the family BO_{n,d+1} on the current triple cur at the reading open O (one round of [Hir64, Main Theorem II(N), p. 176]; [Kol07, Theorem 68]).

              Equations
              Instances For
                noncomputable def Hironaka.Manifold.derivedTriple {π•œ : Type} [RCLike π•œ] {n : β„•} (bo : (d : β„•) β†’ BOanFam π•œ n d) {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {d : β„•} (cur : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) X) (hcls : Manifold.AnalyticTriple.BOClass (d + 1) cur) (O : TopologicalSpace.Opens X.carrier) (hO : IsCompact (closure ↑O)) :
                Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) ((roundList bo cur hcls O hO).stage (Fin.last (roundList bo cur hcls O hO).length))

                The derived triple at the last stage of the round: the induced triple at mark d + 1 (AnalyticTriple.induced), whose ideal is Hironaka's weak transform J_{i+1} of J_i [Hir64, Main Theorem II(N), p. 176], KollΓ‘r's marked transform at the current mark (Hironaka/Resolution/Analytic/Wlo09/HironakaClauses.lean).

                Equations
                Instances For
                  theorem Hironaka.Manifold.derivedTriple_ord_le {π•œ : Type} [RCLike π•œ] {n : β„•} (bo : (d : β„•) β†’ BOanFam π•œ n d) {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {d : β„•} (cur : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) X) (hcls : Manifold.AnalyticTriple.BOClass (d + 1) cur) (O : TopologicalSpace.Opens X.carrier) (hO : IsCompact (closure ↑O)) (x : ((roundList bo cur hcls O hO).stage (Fin.last (roundList bo cur hcls O hO).length)).carrier) :
                  Manifold.IdealSheaf.ord (derivedTriple bo cur hcls O hO).I x ≀ ↑d

                  The derived triple has order ≀ d everywhere (clause (1) of [Kol07, Theorem 68], max-ord I_r < m, the round's ord_lt): the next round applies to it on its whole manifold.

                  theorem Hironaka.Manifold.derivedTriple_finite {π•œ : Type} [RCLike π•œ] {n : β„•} (bo : (d : β„•) β†’ BOanFam π•œ n d) {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {d : β„•} (cur : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) X) (hcls : Manifold.AnalyticTriple.BOClass (d + 1) cur) (O : TopologicalSpace.Opens X.carrier) (hO : IsCompact (closure ↑O)) :
                  Finite { j : (derivedTriple bo cur hcls O hO).F.ΞΉ // (derivedTriple bo cur hcls O hO).F.hyp j β‰  βˆ… }

                  The derived triple has finitely many nonempty boundary members (finite_nonempty_totalTransformSeqFrom).

                  The chain lifted to a round's last stage #

                  The lift of an open V of X to the last stage of a list on X.restrict O: its preimage under the composite blow-down (WΕ‚odarczyk's Ε¨ = prin⁻¹(U), [Wlo09, Theorem 2.0.3 (1)]).

                  Equations
                  Instances For
                    theorem Hironaka.Manifold.coe_liftOpens {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) (V : TopologicalSpace.Opens X.carrier) :

                    The lift of V as a set: the preimage of V under the composite blow-down.

                    theorem Hironaka.Manifold.isCompact_closure_liftOpens {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) {V : TopologicalSpace.Opens X.carrier} (hV : IsCompact (closure ↑V)) (hVO : closure ↑V βŠ† ↑O) :

                    The lift of a relatively compact open with closure inside O is relatively compact (the composite blow-down is proper, isProperMap_stageMap).

                    theorem Hironaka.Manifold.closure_liftOpens_subset {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) {V W : TopologicalSpace.Opens X.carrier} (hVW : closure ↑V βŠ† ↑W) :
                    closure ↑(liftOpens L V) βŠ† ↑(liftOpens L W)

                    The lift preserves shrinking with closures.

                    theorem Hironaka.Manifold.range_pullbackLiftLast_subset_liftOpens {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) {N : AnalyticManifold π•œ (Fin n β†’ π•œ)} (ΞΉ : AnalyticMap N X) (hΞΉ : IsLocalDiffeomorph (modelWithCornersSelf π•œ (Fin n β†’ π•œ)) (modelWithCornersSelf π•œ (Fin n β†’ π•œ)) ⊀ ⇑ι) (V : TopologicalSpace.Opens X.carrier) (hV : Set.range ⇑ι βŠ† ↑V) (h : Set.range ⇑ι βŠ† ↑O) :
                    Set.range ⇑(L.pullbackLiftLast (AnalyticMap.corestrict ΞΉ O h) β‹―) βŠ† ↑(liftOpens L V)

                    The last-stage lift of a map into V βŠ† O lands in the lift of V (range_pullbackLiftLast_subset).

                    def Hironaka.Manifold.liftChain {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) (Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier) (k : β„•) :

                    The chain lifted to the last stage of L.

                    Equations
                    Instances For
                      theorem Hironaka.Manifold.liftChain_isCompact {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) {Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier} {d : β„•} (hΞ© : βˆ€ k < d + 1, IsCompact (closure ↑(Ξ© k))) (hΞ©sub : βˆ€ (k : β„•), k + 1 < d + 1 β†’ closure ↑(Ξ© k) βŠ† ↑(Ξ© (k + 1))) (hO : O = Ξ© d) (k : β„•) :
                      k < d β†’ IsCompact (closure ↑(liftChain L Ξ© k))
                      theorem Hironaka.Manifold.liftChain_closure_subset {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {O : TopologicalSpace.Opens X.carrier} (L : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (X.restrict O)) {Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier} {d : β„•} (hΞ©sub : βˆ€ (k : β„•), k + 1 < d + 1 β†’ closure ↑(Ξ© k) βŠ† ↑(Ξ© (k + 1))) (k : β„•) :
                      k + 1 < d β†’ closure ↑(liftChain L Ξ© k) βŠ† ↑(liftChain L Ξ© (k + 1))

                      The rounds d ↓ along a chain, as one recursion over the current manifold #

                      theorem Hironaka.Manifold.range_subset_chain {π•œ : Type} [RCLike π•œ] {n : β„•} {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} {Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier} {d : β„•} (hΞ©sub : βˆ€ (k : β„•), k + 1 < d + 1 β†’ closure ↑(Ξ© k) βŠ† ↑(Ξ© (k + 1))) {N : AnalyticManifold π•œ (Fin n β†’ π•œ)} {ΞΉ : AnalyticMap N X} (hrange : Set.range ⇑ι βŠ† ↑(Ξ© 0)) :
                      Set.range ⇑ι βŠ† ↑(Ξ© d)

                      The range of the reading map lies in every open of the chain below d + 1.

                      def Hironaka.Manifold.resolveFrom {π•œ : Type} [RCLike π•œ] {n : β„•} (bo : (d : β„•) β†’ BOanFam π•œ n d) (d : β„•) {X : AnalyticManifold π•œ (Fin n β†’ π•œ)} (cur : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) X) (_hord : βˆ€ (x : ↑↧X.carrier), Manifold.IdealSheaf.ord cur.I x ≀ ↑d) (_hfin : Finite { j : cur.F.ΞΉ // cur.F.hyp j β‰  βˆ… }) (Ξ© : β„• β†’ TopologicalSpace.Opens X.carrier) (_hΞ© : βˆ€ k < d, IsCompact (closure ↑(Ξ© k))) (_hΞ©sub : βˆ€ (k : β„•), k + 1 < d β†’ closure ↑(Ξ© k) βŠ† ↑(Ξ© (k + 1))) {N : AnalyticManifold π•œ (Fin n β†’ π•œ)} (ΞΉ : AnalyticMap N X) (_hΞΉ : IsLocalDiffeomorph (modelWithCornersSelf π•œ (Fin n β†’ π•œ)) (modelWithCornersSelf π•œ (Fin n β†’ π•œ)) ⊀ ⇑ι) (_hrange : Set.range ⇑ι βŠ† ↑(Ξ© 0)) :

                      The rounds d, d βˆ’ 1, …, 1 of the families bo on the current derived triple cur (of order ≀ d everywhere, with finitely many nonempty boundary members) along the chain Ξ© of relatively compact opens of the current manifold (closure (Ξ© k) βŠ† Ξ© (k + 1) below d), read on the manifold N of a local analytic isomorphism ΞΉ into Ξ© 0: the iteration of Hir64, Main Theorem II(N), p. 176 at decreasing maximal order, [Wlo09, Theorem 2.0.3 (1)]. Round d + 1 is the family's value at Ξ© d; the derived triple is the induced triple at mark d + 1 on the round's last stage; the chain and ΞΉ are lifted to that stage; the value is the round's list pulled back along ΞΉ followed by the rounds from d, pulled back along the last-stage lift of ΞΉ; the second factor lives on the first factor's last stage by construction.

                      Equations
                      Instances For

                        Admissible chains and the value along one; the canonical chain; the value on an open #

                        structure Hironaka.Manifold.ResolveChain {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) :

                        An admissible shrinking chain for (T, U): D rounds, opens W 0 βŠ† β‹― βŠ† W D with compact closures, closure (W k) βŠ† W (k + 1), U ≀ W 0, and ord π“˜ ≀ D on the outermost open (so the triple restricted to it lies in the class of BO_{n,D} when D β‰₯ 1). WΕ‚odarczyk's open neighbourhood U βŠƒ Z of [Wlo09, Theorem 2.0.3 (1)], read D times.

                        Instances For
                          theorem Hironaka.Manifold.ResolveChain.le_of_le {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) {k j : β„•} (hkj : k ≀ j) (hj : j ≀ c.D) :
                          c.W k ≀ c.W j
                          theorem Hironaka.Manifold.ResolveChain.le_outer {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) (k : β„•) (hk : k ≀ c.D) :
                          c.W k ≀ c.W c.D
                          theorem Hironaka.Manifold.ResolveChain.closure_subset_of_lt {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) {k j : β„•} (hkj : k < j) (hj : j ≀ c.D) :
                          closure ↑(c.W k) βŠ† ↑(c.W j)
                          noncomputable def Hironaka.Manifold.ResolveChain.outerTriple {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) :
                          Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) (M.restrict (c.W c.D))

                          The triple restricted to the outermost open.

                          Equations
                          Instances For
                            theorem Hironaka.Manifold.ResolveChain.outerTriple_ord_le {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) (x : (M.restrict (c.W c.D)).carrier) :

                            The order bound restricts to the outermost open.

                            theorem Hironaka.Manifold.ResolveChain.outerTriple_finite {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) :

                            Finitely many boundary members meet the relatively compact outermost open (boClass_pullback_inclusion).

                            def Hironaka.Manifold.ResolveChain.trace {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) (k : β„•) :

                            The chain as opens of the outermost open.

                            Equations
                            Instances For
                              theorem Hironaka.Manifold.ResolveChain.isCompact_closure_trace {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) (k : β„•) (hk : k < c.D) :
                              IsCompact (closure ↑(c.trace k))
                              theorem Hironaka.Manifold.ResolveChain.closure_trace_subset {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) (k : β„•) (hk : k + 1 < c.D) :
                              closure ↑(c.trace k) βŠ† ↑(c.trace (k + 1))
                              theorem Hironaka.Manifold.ResolveChain.le_outerOpen {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) :
                              U ≀ c.W c.D
                              theorem Hironaka.Manifold.ResolveChain.range_restrictLE_subset_trace {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} {T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M} {U : TopologicalSpace.Opens M.carrier} (c : ResolveChain T U) :
                              Set.range ⇑(M.restrictLE β‹―) βŠ† ↑(c.trace 0)
                              noncomputable def Hironaka.Manifold.resolveSeqOnAlong {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (bo : (d : β„•) β†’ BOanFam π•œ n d) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (c : ResolveChain T U) :

                              The value along an admissible chain: the rounds c.D, …, 1 on the triple restricted to the outermost open, along the chain, read on U, the empty blow-ups erased ([Wlo09, Theorem 2.0.3 (1)]; the empty blow-up convention [Kol07, 32]). Canonicity (Hironaka/Resolution/Analytic/Wlo09/Canonicity.lean) shows that it does not depend on the chain.

                              Equations
                              Instances For
                                theorem Hironaka.Manifold.noEmptyCenters_resolveSeqOnAlong {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (bo : (d : β„•) β†’ BOanFam π•œ n d) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (c : ResolveChain T U) :
                                noncomputable def Hironaka.Manifold.canonicalResolveChain {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :

                                The canonical chain: d_U + 1 iterated shrinks of closure U inside {ord π“˜ ≀ d_U}, the k-th open being the (d_U βˆ’ k)-th shrink, so the innermost is the last shrink and the outermost the first.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  noncomputable def Hironaka.Manifold.resolveSeqOn {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (bo : (d : β„•) β†’ BOanFam π•œ n d) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :

                                  The value of the resolution family on the relatively compact open U: the rounds d_U, …, 1 along the canonical chain, read on U, the empty blow-ups erased (Hir64, Main Theorem II(N), p. 176; [Wlo09, Theorem 2.0.3 (1)]). Hironaka/Resolution/Analytic/Wlo09/Canonicity.lean proves its compatibility under restriction and bundles it into resolveFam.

                                  Equations
                                  Instances For
                                    theorem Hironaka.Manifold.noEmptyCenters_resolveSeqOn {π•œ : Type} [RCLike π•œ] {n : β„•} {M : AnalyticManifold π•œ (Fin n β†’ π•œ)} (bo : (d : β„•) β†’ BOanFam π•œ n d) (T : Manifold.AnalyticTriple (ContinuousLinearEquiv.refl π•œ (Fin n β†’ π•œ)) M) (U : TopologicalSpace.Opens M.carrier) (hU : IsCompact (closure ↑U)) :

                                    The value has no empty blow-ups (the empty blow-up convention [Kol07, 32]).