Documentation

Hironaka.Resolution.Analytic.Restrict.FlagPushforward

The push-forwards along a flag S ⊂ Y ⊂ M #

Kollár reduces the commutation of the order-reduction functor with a closed embedding S ⊂ M of codimension s + 1 to a flag S ⊂ Y ⊂ M with Y of codimension s and S a hypersurface of Y [Kol07, 108]; the push-forward of a blow-up sequence along a closed embedding is [Kol07, Definition 30.3]. This module is the push-forward bookkeeping of that reduction:

The internals are the stage blowUpStepOf (the next stage with the pushed-forward centre given as a datum W, so that the ambient of the next stage is blowUp ψ hW literally) with its subst-lemmas, and heq_pushforwardAux. Not in the sources beyond Kollár's reduction; the proofs are routine.

The two bundled structures on S ⊆ Y #

theorem Manifold.IsClosedSubmanifold.exists_diffeomorph_toAnalyticManifold_of_flag {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {Y S : Set M.carrier} {s : ℕ} (hY : IsClosedSubmanifold ψ Y s) (hS : IsClosedSubmanifold ψ S (s + 1)) (hSY' : S ⊆ Y) (hSY : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⇑hY.inclusionMap ⁻¹' S) 1) :
∃ (e : Diffeomorph (modelWithCornersSelf 𝕜 (Fin (n - (s + 1)) → 𝕜)) (modelWithCornersSelf 𝕜 (Fin (n - (s + 1)) → 𝕜)) hSY.toAnalyticManifold.carrier hS.toAnalyticManifold.carrier ⊤), ∀ (x : hSY.toAnalyticManifold.carrier), hS.inclusionMap (e x) = hY.inclusionMap (hSY.inclusionMap x)

For S ⊆ Y with Y a closed submanifold of codimension s, S one of codimension s + 1 and S a hypersurface of the bundled Y (the flag of [Kol07, 108]), the two bundled structures on S (the models Fin (n - (s + 1)) → 𝕜 and Fin (n - s - 1) → 𝕜 are the same type definitionally) are carried by the identity of the carrier: an analytic isomorphism e with j_S ∘ e = j_Y ∘ j_{S,Y}.

No empty centres through a push-forward, at every codimension #

theorem AnalyticManifold.BlowUpSequence.noEmptyCenters_pushforwardAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : Manifold.PushforwardStage ψ s Tᵢ) (L : BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Tᵢ) :

The push-forward of a list without empty centres through any stage has none — the centres of the push-forward are the images of the centres under the closed embedding P.incl of the stage (imageVal_image_eq).

theorem AnalyticManifold.BlowUpSequence.noEmptyCenters_pushforward {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {s : ℕ} {S : Set M.carrier} (hS : Manifold.IsClosedSubmanifold ψ S s) (L : BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) hS.toAnalyticManifold) (hL : L.NoEmptyCenters) :

BlowUpSequence.pushforward along a closed submanifold of any codimension keeps NoEmptyCenters (through the stages; the codimension-one statement elsewhere goes through PushforwardBridge).

The per-open push-forward of a list without empty centres has none, at every codimension — the codimension-one statement noEmptyCenters_pushforwardRestrict (OrderReduction/ClosedEmbeddingFam.lean) generalised (the unprimed one is the case s = 1). Through pushforwardRestrict_eq (RestrictBundle.lean) the per-open push-forward is a pull-back along the bundle diffeomorphism (surjective, so noEmptyCenters_pullback_of_surjective applies) followed by an ordinary push-forward.

The next stage with the pushed-forward centre as a datum #

theorem Manifold.PushforwardStage.incl_mem_sub {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : PushforwardStage ψ s Tᵢ) (t : Tᵢ.carrier) :
P.incl t ∈ P.sub

A stage's inclusion lands in its strict transform (range_incl).

noncomputable def Manifold.PushforwardStage.blowUpStepOf {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ T' : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : PushforwardStage ψ s Tᵢ) {Z : Set Tᵢ.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c) {W : Set P.space.carrier} {c' : ℕ} (hW : IsClosedSubmanifold ψ W c') (hWe : W = ⋯.imageVal (⇑P.iso '' Z)) (hc' : c' = c + s) {π : AnalyticMap T' Tᵢ} (hπ : IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c ⇑π) :

blowUpStep with the pushed-forward centre given as a DATUM W — a closed submanifold of the ambient equal to (j_i)_* Z [Kol07, Definition 30.3] — so that the ambient of the next stage is blowUp ψ hW literally, for a centre W already present in the ambient list.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem Manifold.PushforwardStage.blowUpStepOf_eq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ T' : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : PushforwardStage ψ s Tᵢ) {Z : Set Tᵢ.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c) {W : Set P.space.carrier} {c' : ℕ} (hW : IsClosedSubmanifold ψ W c') (hWe : W = ⋯.imageVal (⇑P.iso '' Z)) (hc' : c' = c + s) {π : AnalyticMap T' Tᵢ} (hπ : IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c ⇑π) :
    P.blowUpStepOf hZ hW hWe hc' hπ = P.blowUpStep hZ hπ

    blowUpStepOf IS blowUpStep — the datum is the pushed-forward centre.

    theorem Manifold.PushforwardStage.blowUpπ_incl_blowUpStepOf {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ T' : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : PushforwardStage ψ s Tᵢ) {Z : Set Tᵢ.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c) {W : Set P.space.carrier} {c' : ℕ} (hW : IsClosedSubmanifold ψ W c') (hWe : W = ⋯.imageVal (⇑P.iso '' Z)) (hc' : c' = c + s) {π : AnalyticMap T' Tᵢ} (hπ : IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c ⇑π) (p : T'.carrier) :
    (blowUpπ ψ hW) ((P.blowUpStepOf hZ hW hWe hc' hπ).incl p) = P.incl (π p)

    The square of blowUpStepOf: the blow-down of the next stage's inclusion is the inclusion of the blow-down (restrictMap_blowUpStep_iso).

    theorem Manifold.PushforwardStage.restrictMap_blowUpStepOf_iso {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ T' : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : PushforwardStage ψ s Tᵢ) {Z : Set Tᵢ.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c) {W : Set P.space.carrier} {c' : ℕ} (hW : IsClosedSubmanifold ψ W c') (hWe : W = ⋯.imageVal (⇑P.iso '' Z)) (hc' : c' = c + s) {π : AnalyticMap T' Tᵢ} (hπ : IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c ⇑π) (p : T'.carrier) :
    (⋯.restrictMap ⋯ ⇑(blowUpπ ψ hW) ⋯ ⋯) ((P.blowUpStepOf hZ hW hWe hc' hπ).iso p) = P.iso (π p)

    The restricted blow-down of blowUpStepOf over the identification of the stage is the identification of the blow-down (restrictMap_blowUpStep_iso).

    theorem Manifold.PushforwardStage.isBlowUp_restrictMap_blowUpStepOf {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ T' : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} (P : PushforwardStage ψ s Tᵢ) {Z : Set Tᵢ.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c) {W : Set P.space.carrier} {c' : ℕ} (hW : IsClosedSubmanifold ψ W c') (hWe : W = ⋯.imageVal (⇑P.iso '' Z)) (hc' : c' = c + s) {π : AnalyticMap T' Tᵢ} (hπ : IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Z c ⇑π) :
    IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⇑P.iso '' Z) c ⇑(⋯.restrictMap ⋯ ⇑(blowUpπ ψ hW) ⋯ ⋯)

    The restricted blow-down of blowUpStepOf is a blowing-up of the stage's manifold along the identified centre (isBlowUp_restrictMap_imageVal).

    theorem Manifold.PushforwardStage.heq_pushforwardAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {Tᵢ : AnalyticManifold 𝕜 (Fin (n - s) → 𝕜)} {P₁ P₂ : PushforwardStage ψ s Tᵢ} (e : P₁ = P₂) {L₁ L₂ : AnalyticManifold.BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) Tᵢ} (hL : L₁ = L₂) :

    pushforwardAux respects equality of stages and of lists (a subst; the two sides live on the two blowUps).

    Uniqueness of the lift of a local isomorphism #

    theorem AnalyticManifold.BlowUpSequence.eq_liftStep_of_comm {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {M : AnalyticManifold 𝕜 E} {ψ₀ : E ≃L[𝕜] Fin n → 𝕜} {N : AnalyticManifold 𝕜 E} (h : AnalyticMap N M) (hh : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 E) (modelWithCornersSelf 𝕜 E) ⊤ ⇑h) {Y : Set M.carrier} {c : ℕ} (hY : Manifold.IsClosedSubmanifold ψ₀ Y c) (G : (Manifold.blowUp ψ₀ ⋯).carrier → (Manifold.blowUp ψ₀ hY).carrier) (hG : Continuous G) (hGπ : ∀ (q : (Manifold.blowUp ψ₀ ⋯).carrier), (Manifold.blowUpπ ψ₀ hY) (G q) = h ((Manifold.blowUpπ ψ₀ ⋯) q)) :
    G = ⇑(liftStep h hh hY)

    A continuous map over the local analytic isomorphism h between the blowings-up is THE lift liftStep h hh hY, by eqOn_liftPartialDiffeomorph_of_comm (Hironaka/Manifold/FiniteSuccession/Lift.lean) on the chart of h at each point (the uniqueness of a blowing-up up to an isomorphism commuting with the blow-down, [BM88, Definition 4.1]; the lift of [Kol07, Definition 30.1]).

    The nested stage S ⊂ Y ⊂ M #

    theorem Manifold.PushforwardStage.isClosedSubmanifold_nest {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) :
    IsClosedSubmanifold ψ (⇑P_Y.incl '' P_S.sub) (s + 1)

    The image j_Y(S̃) ⊆ X of the strict transform of S under the closed embedding of the strict transform of Y is a closed submanifold of codimension s + 1 (imageVal_isClosedSubmanifold).

    theorem Manifold.PushforwardStage.mem_sub_of_mem_image_incl {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {x : P_Y.space.carrier} (hx : x ∈ ⇑P_Y.incl '' P_S.sub) :
    x ∈ P_Y.sub

    A point of j_Y(S̃) lies in Ỹ.

    theorem Manifold.PushforwardStage.iso_symm_mk_mem_sub {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {x : P_Y.space.carrier} (hx : x ∈ ⇑P_Y.incl '' P_S.sub) :
    P_Y.iso.symm ⟨x, ⋯⟩ ∈ P_S.sub

    The point of T_Y under a point of j_Y(S̃) lies in S̃.

    noncomputable def Manifold.PushforwardStage.nest {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) :
    PushforwardStage ψ (s + 1) T_S

    The nested stage S̃ ⊆ Ỹ ⊆ X as a stage for S of codimension s + 1 — the ambient of Y's stage, the image j_Y(S̃) of the strict transform of S and the composed identification iso_Y ∘ iso_S (PushforwardStage).

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Manifold.PushforwardStage.incl_nest {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) (t : T_S.carrier) :
      (P_S.nest P_Y).incl t = P_Y.incl (P_S.incl t)

      The inclusion of the nested stage is the composite of the inclusions.

      theorem Manifold.PushforwardStage.space_nest {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) :
      (P_S.nest P_Y).space = P_Y.space

      The ambient of the nested stage.

      theorem Manifold.PushforwardStage.sub_nest {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) :
      (P_S.nest P_Y).sub = ⇑P_Y.incl '' P_S.sub

      The strict transform of the nested stage is j_Y(S̃).

      The next stage of the nested stage is the nested next stage #

      theorem Manifold.PushforwardStage.imageVal_nest_eq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} :
      ⋯.imageVal (⇑(P_S.nest P_Y).iso '' Z) = ⋯.imageVal (⇑P_Y.iso '' ⋯.imageVal (⇑P_S.iso '' Z))

      The centre pushed forward through the nested stage is the centre pushed forward through the two stages (imageVal_image_eq).

      noncomputable def Manifold.PushforwardStage.nestStep {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) :
      PushforwardStage ψ (s + 1) (blowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) hZ)

      The next stage of the nested stage, with the ambient centre j_Y(j_S(Z)) as the datum (blowUpStepOf).

      Equations
      Instances For
        theorem Manifold.PushforwardStage.nestStep_eq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) :
        P_S.nestStep P_Y hZ hW₁ = (P_S.nest P_Y).blowUpStep hZ ⋯

        nestStep IS the next stage of the nested stage.

        noncomputable def Manifold.PushforwardStage.nestStepπ {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) :

        The restricted blow-down of the next stage of the nested stage (restrictMap).

        Equations
        Instances For
          theorem Manifold.PushforwardStage.isBlowUp_nestStepπ {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) :
          IsBlowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - (s + 1)) → 𝕜)) (⇑(P_S.nest P_Y).iso '' Z) c ⇑(P_S.nestStepπ P_Y hZ hW₁)

          The restricted blow-down nestStepπ is a blowing-up of the nested strict transform along the identified centre ([Kol07, Definition 30.3]).

          theorem Manifold.PushforwardStage.nestStepπ_iso {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) (p : (blowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) hZ).carrier) :
          (P_S.nestStepπ P_Y hZ hW₁) ((P_S.nestStep P_Y hZ hW₁).iso p) = (P_S.nest P_Y).iso ((blowUpπ (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) hZ) p)

          The square of nestStepπ with the identification of nestStep.

          theorem Manifold.PushforwardStage.image_incl_strictTransformSet {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) :
          ⇑(P_Y.blowUpStep hW₁ ⋯).incl '' strictTransformSet (⇑(blowUpπ (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) hW₁)) (⋯.imageVal (⇑P_S.iso '' Z)) P_S.sub = strictTransformSet (⇑(blowUpπ ψ ⋯)) (⋯.imageVal (⇑P_Y.iso '' ⋯.imageVal (⇑P_S.iso '' Z))) (⇑P_Y.incl '' P_S.sub)

          The comparison of the strict transforms through the two ambient blowings-up — the image under the lifted closed embedding Bl Ỹ ↪ Bl X (the inclusion of Y's next stage) of the strict transform of S̃ in Bl Ỹ is the strict transform of j_Y(S̃) in Bl X (Kol07, Definition 30.3). Both are closures: the closed embedding carries closures to closures (IsClosedEmbedding.closure_image_eq), and off the centres the two preimages correspond by the square blowUpπ_incl_blowUpStep and the injectivity of j_Y.

          theorem Manifold.PushforwardStage.incl_nestStep {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) (q : (blowUp (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) hZ).carrier) :
          (P_S.nestStep P_Y hZ hW₁).incl q = ((P_S.blowUpStep hZ ⋯).nest (P_Y.blowUpStep hW₁ ⋯)).incl q

          The inclusion of the next stage of the nested stage is the inclusion of the nested next stages, pointwise — both are lifts of the nested inclusion to the blowings-up (IsBlowUp.eqOn_of_comp_eq, BlowUp/Unique.lean; the uniqueness of a blowing-up up to an isomorphism commuting with the blow-down, [BM88, Definition 4.1]), the second through image_incl_strictTransformSet.

          theorem Manifold.PushforwardStage.isPullbackStage_nestStep {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : PushforwardStage ψ s P_S.space) {Z : Set T_S.carrier} {c : ℕ} (hZ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) Z c) (hW₁ : IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⋯.imageVal (⇑P_S.iso '' Z)) (c + 1)) :
          (P_S.nestStep P_Y hZ hW₁).IsPullbackStage ((P_S.blowUpStep hZ ⋯).nest (P_Y.blowUpStep hW₁ ⋯)) ContMDiffMap.id ContMDiffMap.id

          The next stage of the nested stage is the nested next stage — the pull-back-stage invariant (IsPullbackStage, Functor/PushforwardPullback.lean) along the identity of the common ambient Bl X.

          theorem AnalyticManifold.BlowUpSequence.pushforwardAux_nest {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {s : ℕ} {T_S : AnalyticManifold 𝕜 (Fin (n - s - 1) → 𝕜)} (P_S : Manifold.PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) 1 T_S) (P_Y : Manifold.PushforwardStage ψ s P_S.space) (L : BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s - 1) → 𝕜)) T_S) :

          The list induction: pushing a list forward through S̃ ⊆ Ỹ and then through Ỹ ⊆ X is pushing it forward through the nested stage (pushforwardAux_pullback at the invariant isPullbackStage_nestStep, the identity pull-backs removed by pullback_id).

          theorem AnalyticManifold.BlowUpSequence.pushforward_pushforward_of_flag {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {n : ℕ} {ψ : E ≃L[𝕜] Fin n → 𝕜} {M : AnalyticManifold 𝕜 E} {Y S : Set M.carrier} {s : ℕ} (hY : Manifold.IsClosedSubmanifold ψ Y s) (hS : Manifold.IsClosedSubmanifold ψ S (s + 1)) (hSY : Manifold.IsClosedSubmanifold (ContinuousLinearEquiv.refl 𝕜 (Fin (n - s) → 𝕜)) (⇑hY.inclusionMap ⁻¹' S) 1) (e : Diffeomorph (modelWithCornersSelf 𝕜 (Fin (n - (s + 1)) → 𝕜)) (modelWithCornersSelf 𝕜 (Fin (n - (s + 1)) → 𝕜)) hSY.toAnalyticManifold.carrier hS.toAnalyticManifold.carrier ⊤) (he : ∀ (x : hSY.toAnalyticManifold.carrier), hS.inclusionMap (e x) = hY.inclusionMap (hSY.inclusionMap x)) (L : BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin (n - (s + 1)) → 𝕜)) hS.toAnalyticManifold) :
          pushforward hY (pushforward hSY (L.pullback ⟨⇑e, ⋯⟩ ⋯)) = pushforward hS L

          Pushing a list forward from the hypersurface S of Y to Y and then from Y (codimension s) to M is pushing it forward from S (codimension s + 1) to M, the list read on the two bundled structures through the isomorphism e of exists_diffeomorph_toAnalyticManifold_of_flag — the raw form with ordinary pushforwards (Kol07, Definition 30.3 along the flag of [Kol07, 108]); the pushforwardRestrict form follows through pushforwardRestrictOf_eq. The two stages ⟨Y-bundle, j_Y⁻¹ S, hSY, refl⟩ and ⟨M, Y, hY, refl⟩ nest to a stage for S which is the pull-back stage of ⟨M, S, hS, refl⟩ along the identity of M and e (he is the square), and pushforwardAux_nest with pushforwardAux_pullback finish.

          The codimension-zero case #

          theorem AnalyticManifold.BlowUpSequence.pushforwardAux_pullback_incl_of_centersOver {𝕜 : Type} [RCLike 𝕜] {n : ℕ} {Tᵢ : AnalyticManifold 𝕜 (Fin (n - 0) → 𝕜)} (P : Manifold.PushforwardStage (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) 0 Tᵢ) (hloc : IsLocalDiffeomorph (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) (modelWithCornersSelf 𝕜 (Fin n → 𝕜)) ⊤ ⇑P.incl) (L : BlowUpSequence (ContinuousLinearEquiv.refl 𝕜 (Fin n → 𝕜)) P.space) :

          The codimension-zero case, generalised over the stage: for a stage of codimension 0 whose inclusion is a local analytic isomorphism and a list on its ambient with every centre over the (clopen) image (CentersOver, Principalization/IsoOff.lean), pushing forward the pull-back along the inclusion is the identity. Per step: the pushed-forward centre is the centre itself (it lies in the image), the next inclusion is THE lift of the inclusion (eq_liftStep_of_comm), and the strict transform of the open image contains the whole preimage of the image (IsBlowUp.dense_preimage_compl), so the remaining centres lie over it.

          For S clopen in M with S ↪ M a local analytic isomorphism and a list whose centres lie over S (CentersOver), the push-forward along S ↪ M of the pull-back along the (open) inclusion is the list itself — pushforwardAux_pullback_incl_of_centersOver at the stage ⟨M, S, hS, refl⟩.