Documentation

Hironaka.Resolution.Analytic.OrderReduction.FamilyChain

The shrinking chain of Step 2.1 in the compatible-family form: general tools #

In the compatible-family form of the order-reduction functors ([Wlo09, Theorem 2.0.3 (1), (4)]; the remark after [BM97, Theorem 1.6] on locally finite sequences), the value of Step 2.1 of the proof of [Kol07, Theorem 103] on a relatively compact open U is computed along a finite shrinking chain U ⊆ W_r ⋐ ⋯ ⋐ W_0 ⊆ M of relatively compact opens, each with closure in the previous one. Each factor (Lemma 102's family at one boundary member, later Step 2.2) is a compatible family on the induced triple at the last stage of the sequence built so far, and can only be read on a relatively compact open of that last stage; the preimage of the next, smaller open of the chain is such an open, by the properness of the composite blow-down. The sequence built so far is then restricted to the smaller open (pulled back along the open inclusion), the factor's value is carried to the restricted sequence's last stage along the lift of the inclusion, and the two are concatenated. This module holds the general pieces of that step:

The order clause of the step is proved in FamilyOrder.lean; the chain itself is built in Step21Fam.lean, and the same step drives the construction of Theorem 107 in the compatible-family form (ChainState.linkWith, Step21Fam.lean).

Corestriction onto an open containing the range #

def Hironaka.Manifold.AnalyticMap.corestrict {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {N M : AnalyticManifold 𝕜 E} (f : AnalyticMap N M) (V : TopologicalSpace.Opens M.carrier) (h : Set.range ⇑f ⊆ ↑V) :

The corestriction of an analytic map f : N → M onto an open V ⊇ range f, as an analytic map N → M.restrict V.

Equations
Instances For
    @[simp]
    theorem Hironaka.Manifold.AnalyticMap.corestrict_apply {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {N M : AnalyticManifold 𝕜 E} (f : AnalyticMap N M) (V : TopologicalSpace.Opens M.carrier) (h : Set.range ⇑f ⊆ ↑V) (p : N.carrier) :
    (M.inclusion V) ((corestrict f V h) p) = f p

    The corestriction of a local analytic isomorphism is a local analytic isomorphism (it factors as (M.inclusion V)⁻¹ ∘ f, inclusionInv being the local inverse of the open inclusion).

    The corestriction onto the range is surjective.

    The composite blow-downs are proper #

    Every monoidal transformation of a succession is a blow-up, hence proper (IsBlowUp.isProperMap).

    theorem AnalyticManifold.FiniteSuccession.isProperMap_stageMapAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : ℕ) (h : i < S.length + 1) :

    The composite blow-down σ^i : U_i → M is proper, by composition.

    The composite blow-down of a finite succession is proper: the preimage of a relatively compact open is relatively compact. This is what makes the compatible-family form work over a neighbourhood of every compact set ([Wlo09, Theorem 2.0.3 (1)]).

    The last-stage lift lies over the local isomorphism #

    theorem AnalyticManifold.BlowUpSequence.stageMap_last_pullbackLiftLast {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) (q : ((L.pullback h hh).stage (Fin.last (L.pullback h hh).length)).carrier) :

    The last-stage lift of a local analytic isomorphism h lies over h: σ^r ∘ h_r = h ∘ σ'^r. One blow-up at a time, the lift of h to the blow-ups satisfies π ∘ h₁ = h ∘ π' (blowUpπ_liftStep, the pull-back of a blow-up along h in the sense of [Kol07, Definition 30 (30.1)]); the equation composes along the sequence.

    theorem AnalyticManifold.BlowUpSequence.range_pullbackLiftLast_subset {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) :

    The range of the last-stage lift lies in the preimage of the range of h.

    The reading open and the shrink-and-append step #

    noncomputable def AnalyticManifold.BlowUpSequence.liftRange {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) :

    The reading open of the chain: the range of the last-stage lift of h, an open of the last stage of L (a local analytic isomorphism has open range). The next factor of the chain is read on it.

    Equations
    Instances For
      theorem AnalyticManifold.BlowUpSequence.isCompact_closure_liftRange {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) (hc : IsCompact (closure (Set.range ⇑h))) :

      The reading open is relatively compact when the range of h is: it lies in the preimage of range h under the proper composite blow-down.

      noncomputable def AnalyticManifold.BlowUpSequence.liftCorestrict {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) :

      The last-stage lift corestricted onto the reading open: a surjective local analytic isomorphism from the last stage of h^* L onto the reading open of the last stage of L.

      Equations
      Instances For
        theorem AnalyticManifold.BlowUpSequence.surjective_liftCorestrict {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) :
        noncomputable def AnalyticManifold.BlowUpSequence.shrinkAppend {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) (L' : BlowUpSequence ψ₀ ((L.stage (Fin.last L.length)).restrict (L.liftRange h hh))) :

        The shrink-and-append step of the chain: the sequence L restricted along h (its pull-back), followed by a sequence L' on the reading open carried to the restricted sequence's last stage along the corestricted lift.

        Equations
        Instances For

          The class of BO_{n,m} is closed under pull-back along local analytic isomorphisms #

          theorem Manifold.AnalyticTriple.boClass_pullback_of_isLocalDiffeomorph {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M N : AnalyticManifold 𝕜 E} (T : AnalyticTriple ψ₀ M) (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) {m : ℕ} (hT : BOClass m T) :
          BOClass m (T.pullback h hh)

          The class BOClass m is stable under pull-back of the triple along an arbitrary local analytic isomorphism h (the form of AnalyticTriple.boClass_of_isPullbackOf of ClassPullback.lean for the pull-back triple T.pullback h hh itself): the order bound pulls back pointwise and a member of the pulled-back family is nonempty only if the member is. The triples carried along the chain are pull-backs of induced triples along the lifts, whose class membership this supplies.

          The last stage of a concatenation #

          theorem AnalyticManifold.BlowUpSequence.stage_last_concat {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} (L : BlowUpSequence ψ₀ M) (L' : BlowUpSequence ψ₀ (L.stage (Fin.last L.length))) :

          The last stage of a concatenation is the last stage of the second list (definitionally at each constructor; the lemma is the induction).