Documentation

Hironaka.Resolution.Analytic.Wlo09.PullbackFibre

The lifts of a pull-back up to empty blow-ups are bijective on the fibres #

For R.IsPullbackUpToEmptyAlong S g ([Wlo09, Theorem 3.5.1 (2)] read on successions), the lifts f_k : R_{j_k} → S_k of the local analytic isomorphism g are local analytic isomorphisms over g; this module shows that each f_k maps the fibre of the composite blow-down of R over a point y bijectively onto the fibre of the composite blow-down of S over g y (FiniteSuccession.bijOn_fiber_of_isPullbackUpToEmptyAlong_clauses). This is the sense in which the stages of R are the fibre products N ×_M S_k [Wlo09, Proposition 3.4.1], stated without forming them; it is what the global lift of g to the principalizations (Hironaka/Resolution/Analytic/Wlo09/FamilyLift.lean) needs to identify Ñ with N ×_M M̃.

The argument is an induction on the stage. At stage 0 the lift is the restriction of g, and both fibres are single points. At a step where S blows up a centre Z and R blows up its pull-back f_k⁻¹(Z), a continuous map over f_k between the two blowings-up is bijective over a local inverse of f_k (injOn_of_comm_local, exists_eq_of_comm_local, from the uniqueness of the blowing-up), so f_{k+1} maps the fibre of the blow-down over c bijectively onto the fibre over f_k c (bijOn_fiber_of_comm; a point off the pulled-back centre has a single preimage on both sides, a centre of codimension 0 has none, and the chart data of the two blowings-up are aligned by IsBlowUp.congr_chart and IsClosedSubmanifold.codim_eq_of_nonempty). At a step where the pulled-back centre is empty, the blow-up of S is a bijection over the complement of its centre, which contains the range of f_k.

Partial diffeomorphisms restricted to an open subset #

def PartialDiffeomorph.restrOpen {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {H₁ : Type u_4} [TopologicalSpace H₁] {H₂ : Type u_5} [TopologicalSpace H₂] {I : ModelWithCorners 𝕜 E H₁} {J : ModelWithCorners 𝕜 F H₂} {M : Type u_6} [TopologicalSpace M] [ChartedSpace H₁ M] {N : Type u_7} [TopologicalSpace N] [ChartedSpace H₂ N] {n : WithTop ℕ∞} (Φ : PartialDiffeomorph I J M N n) (s : Set M) (hs : IsOpen s) :

The restriction of a partial diffeomorphism to an open subset s of its domain: the source becomes Φ.source ∩ s, the target its image.

Equations
  • Φ.restrOpen s hs = { toPartialEquiv := Φ.restr s, open_source := ⋯, open_target := ⋯, contMDiffOn_toFun := ⋯, contMDiffOn_invFun := ⋯ }
Instances For
    theorem PartialDiffeomorph.restrOpen_source {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {H₁ : Type u_4} [TopologicalSpace H₁] {H₂ : Type u_5} [TopologicalSpace H₂] {I : ModelWithCorners 𝕜 E H₁} {J : ModelWithCorners 𝕜 F H₂} {M : Type u_6} [TopologicalSpace M] [ChartedSpace H₁ M] {N : Type u_7} [TopologicalSpace N] [ChartedSpace H₂ N] {n : WithTop ℕ∞} (Φ : PartialDiffeomorph I J M N n) (s : Set M) (hs : IsOpen s) :
    (Φ.restrOpen s hs).source = Φ.source ∩ s
    theorem PartialDiffeomorph.restrOpen_apply {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {H₁ : Type u_4} [TopologicalSpace H₁] {H₂ : Type u_5} [TopologicalSpace H₂] {I : ModelWithCorners 𝕜 E H₁} {J : ModelWithCorners 𝕜 F H₂} {M : Type u_6} [TopologicalSpace M] [ChartedSpace H₁ M] {N : Type u_7} [TopologicalSpace N] [ChartedSpace H₂ N] {n : WithTop ℕ∞} (Φ : PartialDiffeomorph I J M N n) (s : Set M) (hs : IsOpen s) (x : M) :
    ↑(Φ.restrOpen s hs).toPartialEquiv x = ↑Φ.toPartialEquiv x
    theorem IsLocalDiffeomorphAt.congr_of_eventuallyEq {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {H₁ : Type u_4} [TopologicalSpace H₁] {H₂ : Type u_5} [TopologicalSpace H₂] {I : ModelWithCorners 𝕜 E H₁} {J : ModelWithCorners 𝕜 F H₂} {M : Type u_6} [TopologicalSpace M] [ChartedSpace H₁ M] {N : Type u_7} [TopologicalSpace N] [ChartedSpace H₂ N] {n : WithTop ℕ∞} {f f' : M → N} {x : M} (hf' : IsLocalDiffeomorphAt I J n f' x) (h : f =ᶠ[nhds x] f') :

    A map which agrees near x with a local diffeomorphism at x is a local diffeomorphism at x: the partial diffeomorphism of the latter, restricted to the open set where the two agree.

    The composite between two equal stages #

    theorem AnalyticManifold.FiniteSuccession.stageMapLE_bijective_of_eq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) {a b : Fin (S.length + 1)} (hab : a = b) (hle : a ≤ b) :

    At two equal indices the composite stageMapLE is a bijection (the transported identity, stageMapLE_self).

    theorem AnalyticManifold.FiniteSuccession.stageMapLE_isLocalDiffeomorph_of_eq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) {a b : Fin (S.length + 1)} (hab : a = b) (hle : a ≤ b) :

    At two equal indices the composite stageMapLE is a local analytic isomorphism.

    The one-step fibre bijection #

    theorem Manifold.IsBlowUp.notMem_preimage_of_codim_zero {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M₀ M' : AnalyticManifold 𝕜 E} {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {Y : Set M₀.carrier} (hY : IsClosedSubmanifold ψ Y 0) {π : M'.carrier → M₀.carrier} (hπ : IsBlowUp ψ Y 0 π) (p : M'.carrier) :
    π p ∉ Y

    A blowing-up along a centre of codimension 0 has no point over the centre (there is no blow-up chart of index i : Fin 0, while the charts cover the preimage of every adapted chart).

    theorem AnalyticManifold.FiniteSuccession.bijOn_fiber_of_comm {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {N₀ M₀ N' M' : AnalyticManifold 𝕜 E} {n n' : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {ψ' : E ≃L[𝕜] Fin n' → 𝕜} {Y : Set M₀.carrier} {c c' : ℕ} {h : AnalyticMap N₀ M₀} (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) (hY : Manifold.IsClosedSubmanifold ψ Y c) {π : M'.carrier → M₀.carrier} (hπ : Manifold.IsBlowUp ψ Y c π) {π' : N'.carrier → N₀.carrier} (hY' : Manifold.IsClosedSubmanifold ψ' (⇑h ⁻¹' Y) c') (hπ' : Manifold.IsBlowUp ψ' (⇑h ⁻¹' Y) c' π') {G : N'.carrier → M'.carrier} (hG : Continuous G) (hGπ : ∀ (q : N'.carrier), π (G q) = h (π' q)) (b : N₀.carrier) :
    Set.BijOn G (π' ⁻¹' {b}) (π ⁻¹' {h b})

    The one-step fibre bijection. For h : N₀ → M₀ a local analytic isomorphism, π the blowing-up of M₀ along the closed submanifold Y and π' the blowing-up of N₀ along h⁻¹(Y) (with any chart data), a continuous map G over h maps the fibre of π' over every b bijectively onto the fibre of π over h b. Over a point off h⁻¹(Y) both fibres are single points (IsBlowUp.bijOn_compl); over a point of h⁻¹(Y) the codimensions agree (IsClosedSubmanifold.codim_eq_of_nonempty), a codimension 0 leaves both fibres empty, and otherwise G is a bijection over a local inverse of h (injOn_of_comm_local, exists_eq_of_comm_local).

    The fibre bijection along a pull-back up to empty blow-ups #

    def AnalyticManifold.FiniteSuccession.fiberR {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {N : AnalyticManifold 𝕜 E} {U' : TopologicalSpace.Opens N.carrier} (R : (N.restrict U').FiniteSuccession) (a : Fin (R.length + 1)) (y : (N.restrict U').carrier) :

    The fibre of the composite blow-down of R at stage a over y.

    Equations
    Instances For

      The fibre of the composite blow-down of S at stage k over g y, read in M.

      Equations
      Instances For
        theorem AnalyticManifold.FiniteSuccession.fiberR_eq_of_eq_zero {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {N : AnalyticManifold 𝕜 E} {U' : TopologicalSpace.Opens N.carrier} {R : (N.restrict U').FiniteSuccession} {a : Fin (R.length + 1)} (ha : a = 0) (y : (N.restrict U').carrier) :
        ∃ (p₀ : (R.stage a).carrier), R.fiberR a y = {p₀}

        The fibre at an index equal to 0 is a single point.

        theorem AnalyticManifold.FiniteSuccession.fiberS_zero_eq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : TopologicalSpace.Opens M.carrier} {U' : TopologicalSpace.Opens N.carrier} {S : (M.restrict U).FiniteSuccession} {g : AnalyticMap N M} (y : (N.restrict U').carrier) {s₁ s₂ : (S.stage 0).carrier} (h₁ : s₁ ∈ S.fiberS g 0 y) (h₂ : s₂ ∈ S.fiberS g 0 y) :
        s₁ = s₂

        Two points of the fibre of S at stage 0 over g y coincide.

        theorem AnalyticManifold.FiniteSuccession.map_mem_fiberR {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {N : AnalyticManifold 𝕜 E} {U' : TopologicalSpace.Opens N.carrier} {R : (N.restrict U').FiniteSuccession} {j : Fin R.length} {y : (N.restrict U').carrier} {p : (R.stage j.succ).carrier} (hp : p ∈ R.fiberR j.succ y) :
        (R.map j) p ∈ R.fiberR j.castSucc y

        The fibre of R at the stage after j, pulled down by the blow-up, lies in the fibre at the stage of j.

        theorem AnalyticManifold.FiniteSuccession.map_mem_fiberS {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : TopologicalSpace.Opens M.carrier} {U' : TopologicalSpace.Opens N.carrier} {S : (M.restrict U).FiniteSuccession} {g : AnalyticMap N M} {k : Fin S.length} {y : (N.restrict U').carrier} {s : (S.stage k.succ).carrier} (hs : s ∈ S.fiberS g k.succ y) :
        (S.map k) s ∈ S.fiberS g k.castSucc y

        The fibre of S at the stage after k, pulled down by the blow-up, lies in the fibre at the stage of k.

        theorem AnalyticManifold.FiniteSuccession.bijOn_fiber_nonjump {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : TopologicalSpace.Opens M.carrier} {U' : TopologicalSpace.Opens N.carrier} {R : (N.restrict U').FiniteSuccession} {S : (M.restrict U).FiniteSuccession} {g : AnalyticMap N M} {k : Fin S.length} {a b : Fin (R.length + 1)} (hb : b = a) (hle : a ≤ b) (fa : AnalyticMap (R.stage a) (S.stage k.castSucc)) (fb : AnalyticMap (R.stage b) (S.stage k.succ)) (hmap : ∀ (p : (R.stage b).carrier), (S.map k) (fb p) = fa ((R.stageMapLE hle) p)) (hcen : (Manifold.IdealSheaf.pullback ⇑fa ⋯ (S.center k)).support = ∅) (y : (N.restrict U').carrier) (hmaps : Set.MapsTo (⇑fb) (R.fiberR b y) (S.fiberS g k.succ y)) (ih : Set.BijOn (⇑fa) (R.fiberR a y) (S.fiberS g k.castSucc y)) :
        Set.BijOn (⇑fb) (R.fiberR b y) (S.fiberS g k.succ y)

        A non-jump step. The stages a = b of R carry two lifts fa, fb to consecutive stages of S with σ^S_{k+1} ∘ fb = fa (through the transported identity stageMapLE), and the pull-back of the centre of S along fa is empty. Then the fibre bijection passes from fa to fb: the blow-up of S is a bijection over the complement of its centre, which contains the range of fa.

        theorem AnalyticManifold.FiniteSuccession.bijOn_fiber_jump {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : TopologicalSpace.Opens M.carrier} {U' : TopologicalSpace.Opens N.carrier} {R : (N.restrict U').FiniteSuccession} {S : (M.restrict U).FiniteSuccession} {g : AnalyticMap N M} {k : Fin S.length} {j : Fin R.length} {b : Fin (R.length + 1)} (hb : b = j.succ) (hle : j.castSucc ≤ b) (fa : AnalyticMap (R.stage j.castSucc) (S.stage k.castSucc)) (fb : AnalyticMap (R.stage b) (S.stage k.succ)) (hfa : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑fa) (hmap : ∀ (p : (R.stage b).carrier), (S.map k) (fb p) = fa ((R.stageMapLE hle) p)) (hcen : R.center j = Manifold.IdealSheaf.pullback ⇑fa ⋯ (S.center k)) (y : (N.restrict U').carrier) (hmaps : Set.MapsTo (⇑fb) (R.fiberR b y) (S.fiberS g k.succ y)) (ih : Set.BijOn (⇑fa) (R.fiberR j.castSucc y) (S.fiberS g k.castSucc y)) :
        Set.BijOn (⇑fb) (R.fiberR b y) (S.fiberS g k.succ y)

        A jump step. The stage b of R is the stage after j, the blow-up of R along the pull-back of the centre of S at stage k, and σ^S_{k+1} ∘ fb = fa ∘ σ^R_{j+1} (through stageMapLE, which is σ^R_{j+1} here). The fibre bijection passes from fa to fb by the one-step fibre bijection over every point of the fibre of R at stage j (bijOn_fiber_of_comm).

        theorem AnalyticManifold.FiniteSuccession.bijOn_fiber_of_isPullbackUpToEmptyAlong_clauses {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : TopologicalSpace.Opens M.carrier} {U' : TopologicalSpace.Opens N.carrier} {R : (N.restrict U').FiniteSuccession} {S : (M.restrict U).FiniteSuccession} {g : AnalyticMap N M} (blk : Fin (S.length + 1) → Fin (R.length + 1)) (f : (k : Fin (S.length + 1)) → AnalyticMap (R.stage (blk k)) (S.stage k)) (h0 : blk 0 = 0) (hstep : ∀ (k : Fin S.length), ↑(blk k.succ) = ↑(blk k.castSucc) ∨ ↑(blk k.succ) = ↑(blk k.castSucc) + 1) (hld : ∀ (k : Fin (S.length + 1)), IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑(f k)) (hov : ∀ (k : Fin (S.length + 1)) (p : (R.stage (blk k)).carrier), (M.inclusion U) ((S.stageMap k) ((f k) p)) = g ((N.inclusion U') ((R.stageMap (blk k)) p))) (hm : ∀ (k : Fin S.length) (hle : blk k.castSucc ≤ blk k.succ) (p : (R.stage (blk k.succ)).carrier), (S.map k) ((f k.succ) p) = (f k.castSucc) ((R.stageMapLE hle) p)) (hcj : ∀ (k : Fin S.length) (ha : ↑(blk k.castSucc) < R.length), ↑(blk k.succ) = ↑(blk k.castSucc) + 1 → R.centerAt (blk k.castSucc) ha = Manifold.IdealSheaf.pullback ⇑(f k.castSucc) ⋯ (S.center k)) (hcn : ∀ (k : Fin S.length), ↑(blk k.succ) = ↑(blk k.castSucc) → (Manifold.IdealSheaf.pullback ⇑(f k.castSucc) ⋯ (S.center k)).support = ∅) (k : Fin (S.length + 1)) (y : (N.restrict U').carrier) :
        Set.BijOn (⇑(f k)) (R.fiberR (blk k) y) (S.fiberS g k y)

        The fibre bijection at every stage, for the clauses of IsPullbackUpToEmptyAlong: the lift f k maps the fibre of the composite blow-down of R at stage blk k over y bijectively onto the fibre of the composite blow-down of S at stage k over g y. Induction on k: at stage 0 the fibres are single points; at a non-jump bijOn_fiber_nonjump, at a jump bijOn_fiber_jump.

        The last lift of a pull-back up to empty blow-ups is bijective on the fibres, carried to the last stage of R: for R.IsPullbackUpToEmptyAlong S g there is a local analytic isomorphism φ : R_{r'} → S_r over g which maps the fibre of the composite of R over every y bijectively onto the fibre of the composite of S over g y. The last lift of any witness, after the transported identity stageMapLE from the last stage of R to the stage blk r.