3.2. Finite successions, compatible families and pull-backs
Lean names in this section are shown relative to Manifold, AnalyticManifold, TopologicalSpace, Topology, Filter, Set.
This chapter describes the successions of blow-ups of analytic manifolds, the compatible families
over the compact subsets of a manifold in which the three principalization theorems and the
embedded desingularization are stated (Theorem 4.3.1.2, Theorem 4.3.2.1,
Theorem 4.3.3.7, Theorem 4.3.4.6), and the pull-back of a
succession along a local analytic isomorphism. What those theorems assert of their successions is
stated with each theorem (Analytic manifolds and analytic spaces). The
declarations are in the namespace AnalyticManifold.
3.2.1. Finite successions of monoidal transformations
-
finStages[complete] -
FiniteSuccession[complete] -
FiniteSuccession.length[complete] -
FiniteSuccession.later[complete] -
FiniteSuccession.center[complete] -
FiniteSuccession.map[complete] -
FiniteSuccession.isMonoidal[complete] -
FiniteSuccession.stage[complete] -
FiniteSuccession.stageMapAux[complete] -
FiniteSuccession.stageMap[complete] -
FiniteSuccession.last[complete] -
FiniteSuccession.composite[complete]
A FiniteSuccession M is Włodarczyk's finite sequence of blow-ups with smooth centres [Wlo09, Theorem 2.0.3 (1)], Hironaka's succession of monoidal transformations for the finite well-ordered
index set \{0 < 1 < \cdots < r\}. It is given as a structure: a length r (length),
later stages U_1, \dots, U_r (later; the stages stage i are U_0 = M followed by
these, finStages), centres C_i on U_i given by ideal sheaves (center), and
analytic maps \sigma_{i+1} \colon U_{i+1} \to U_i (map), each the monoidal transformation
of U_i with centre C_i (the field isMonoidal, Definition 3.1.4.2). The
composites \sigma^i \colon U_i \to M are stageMap i (by recursion, stageMapAux), the
end result is last and the whole composite composite.
Empty centres are admitted: a monoidal transformation with empty centre is an isomorphism,
Włodarczyk's "isomorphisms" in [Wlo09, Definitions 3.2.5, 3.2.6]. Unlike the scheme-theoretic
BlowUpSequence, which constructs each blow-up, a FiniteSuccession takes the blown-up
manifolds as data together with the property that each map is the blow-up.
Lean code for Definition3.2.1.1●12 declarations
Associated Lean declarations
-
finStages[complete]
-
FiniteSuccession[complete]
-
FiniteSuccession.length[complete]
-
FiniteSuccession.later[complete]
-
FiniteSuccession.center[complete]
-
FiniteSuccession.map[complete]
-
FiniteSuccession.isMonoidal[complete]
-
FiniteSuccession.stage[complete]
-
FiniteSuccession.stageMapAux[complete]
-
FiniteSuccession.stageMap[complete]
-
FiniteSuccession.last[complete]
-
FiniteSuccession.composite[complete]
-
finStages[complete] -
FiniteSuccession[complete] -
FiniteSuccession.length[complete] -
FiniteSuccession.later[complete] -
FiniteSuccession.center[complete] -
FiniteSuccession.map[complete] -
FiniteSuccession.isMonoidal[complete] -
FiniteSuccession.stage[complete] -
FiniteSuccession.stageMapAux[complete] -
FiniteSuccession.stageMap[complete] -
FiniteSuccession.last[complete] -
FiniteSuccession.composite[complete]
-
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def finStages {𝕜 : Type} [NontriviallyNormedField 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (M : AnalyticManifold 𝕜 E) {r : ℕ} (later : Fin r → AnalyticManifold 𝕜 E) : Fin (r + 1) → AnalyticManifold 𝕜 E := match x✝ with | ⟨0, isLt⟩ => M | ⟨i.succ, h⟩ => later ⟨i, ⋯⟩
def finStages {𝕜 : Type} [NontriviallyNormedField 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (M : AnalyticManifold 𝕜 E) {r : ℕ} (later : Fin r → AnalyticManifold 𝕜 E) : Fin (r + 1) → AnalyticManifold 𝕜 E := match x✝ with | ⟨0, isLt⟩ => M | ⟨i.succ, h⟩ => later ⟨i, ⋯⟩
The stages of a finite succession from the data of the later stages:
U_0 = M,U_{i+1} = later i. -
structuredefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
structure FiniteSuccession {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (M : AnalyticManifold 𝕜 E) : Type (max (u + 1) u_1)
structure FiniteSuccession {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (M : AnalyticManifold 𝕜 E) : Type (max (u + 1) u_1)
Włodarczyk's finite sequence of blow-ups with smooth centres [Wlo09, Theorem 2.0.3 (1); Theorem 3.6.1]: Hironaka's succession of monoidal transformations
{f_λ : X_{λ+1} → X_λ}_{λ ∈ Λ}[Hir64, p. 155] for the finite well-ordered setΛ = {0 < 1 < ⋯ < r}— stagesU_iwithU_0 = M, centresC_i ⊆ U_iand mapsσ_{i+1} : U_{i+1} → U_ifor0 ≤ i < r, each the monoidal transformation ofU_iwith centreC_i. The empty succession (length = 0) isΛ = {0}. Empty centres are admitted (a monoidal transformation with empty centre is an isomorphism: Włodarczyk's "isomorphisms" in [Wlo09, Definitions 3.2.5, 3.2.6]).Fields
length : ℕ
The length
r: the number of blow-ups.later : Fin self.length → AnalyticManifold 𝕜 E
The later stages
U_1, …, U_r.center : (i : Fin self.length) → (M.finStages self.later i.castSucc).IdealSheaf
The centre
C_i ⊆ U_iof the blow-upσ_{i+1},0 ≤ i < r.map : (i : Fin self.length) → AnalyticMap (M.finStages self.later i.succ) (M.finStages self.later i.castSucc)
The blow-up
σ_{i+1} : U_{i+1} → U_i.isMonoidal : ∀ (i : Fin self.length), (self.map i).IsMonoidalTransformation (self.center i)
σ_{i+1}is the monoidal transformation ofU_iwith centreC_i(the centre is a closed submanifold: Włodarczyk's "smooth centers"). -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
abbrev FiniteSuccession.length {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) : ℕ := self.1
abbrev FiniteSuccession.length {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) : ℕ := self.1
The length
r: the number of blow-ups. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
abbrev FiniteSuccession.later {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) : Fin self.length → AnalyticManifold 𝕜 E := self.2
abbrev FiniteSuccession.later {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) : Fin self.length → AnalyticManifold 𝕜 E := self.2
The later stages
U_1, …, U_r. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
abbrev FiniteSuccession.center {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) (i : Fin self.length) : (M.finStages self.later i.castSucc).IdealSheaf := self.3
abbrev FiniteSuccession.center {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) (i : Fin self.length) : (M.finStages self.later i.castSucc).IdealSheaf := self.3
The centre
C_i ⊆ U_iof the blow-upσ_{i+1},0 ≤ i < r. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
abbrev FiniteSuccession.map {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) (i : Fin self.length) : AnalyticMap (M.finStages self.later i.succ) (M.finStages self.later i.castSucc) := self.4
abbrev FiniteSuccession.map {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) (i : Fin self.length) : AnalyticMap (M.finStages self.later i.succ) (M.finStages self.later i.castSucc) := self.4
The blow-up
σ_{i+1} : U_{i+1} → U_i. -
theoremdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
theorem FiniteSuccession.isMonoidal {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) (i : Fin self.length) : (self.map i).IsMonoidalTransformation (self.center i)
theorem FiniteSuccession.isMonoidal {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.FiniteSuccession) (i : Fin self.length) : (self.map i).IsMonoidalTransformation (self.center i)
σ_{i+1}is the monoidal transformation ofU_iwith centreC_i(the centre is a closed submanifold: Włodarczyk's "smooth centers"). -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
abbrev FiniteSuccession.stage {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin (S.length + 1)) : AnalyticManifold 𝕜 E := M.finStages S.later i
abbrev FiniteSuccession.stage {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin (S.length + 1)) : AnalyticManifold 𝕜 E := M.finStages S.later i
The stage
U_i,0 ≤ i ≤ r, withU_0 = M. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.stageMapAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : ℕ) (h : i < S.length + 1) : AnalyticMap (M.finStages S.later ⟨i, h⟩) M := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → AnalyticMap (M.finStages S.later ⟨x, x_1⟩) M) x✝¹ (FiniteSuccession.stageMapAux._f S) x✝
def FiniteSuccession.stageMapAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : ℕ) (h : i < S.length + 1) : AnalyticMap (M.finStages S.later ⟨i, h⟩) M := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → AnalyticMap (M.finStages S.later ⟨x, x_1⟩) M) x✝¹ (FiniteSuccession.stageMapAux._f S) x✝
The composite
σ^i = σ_1 ∘ ⋯ ∘ σ_i : U_i → U_0 = M(Włodarczyk'sσ^i, [Wlo09, Theorem 2.0.3 (2)]; Hironaka's canonical morphismX_λ → X_0[Hir64, p. 155]), by recursion oni. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.stageMap {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin (S.length + 1)) : AnalyticMap (S.stage i) M := S.stageMapAux ↑i ⋯
def FiniteSuccession.stageMap {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin (S.length + 1)) : AnalyticMap (S.stage i) M := S.stageMapAux ↑i ⋯
The composite
σ^i : U_i → M. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
abbrev FiniteSuccession.last {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) : AnalyticManifold 𝕜 E := S.stage (Fin.last S.length)
abbrev FiniteSuccession.last {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) : AnalyticManifold 𝕜 E := S.stage (Fin.last S.length)
The end result
U_r. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.composite {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) : AnalyticMap S.last M := S.stageMap (Fin.last S.length)
def FiniteSuccession.composite {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) : AnalyticMap S.last M := S.stageMap (Fin.last S.length)
The composite
σ^r = σ_1 ∘ ⋯ ∘ σ_r : U_r → Mof the whole succession (Włodarczyk'sσ^r; Hironaka's canonical modificationX_γ → X[Hir64, p. 155]).
-
FiniteSuccession.dimAt[complete] -
FiniteSuccession.chartAt[complete] -
FiniteSuccession.codim[complete]
The monoidal transformation property of each step is existential in coordinates and codimension;
dimAt i, chartAt i and codim i choose witnesses (the dimension n of the model, linear
coordinates E \cong \mathbb{K}^n and the codimension of the centre). With them each step is a
blow-up in the sense of Bierstone–Milman (isBlowUp_map) with centre a closed submanifold
(isClosedSubmanifold_center).
Lean code for Definition3.2.1.2●3 definitions
Associated Lean declarations
-
FiniteSuccession.dimAt[complete]
-
FiniteSuccession.chartAt[complete]
-
FiniteSuccession.codim[complete]
-
FiniteSuccession.dimAt[complete] -
FiniteSuccession.chartAt[complete] -
FiniteSuccession.codim[complete]
-
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.dimAt {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin S.length) : ℕ := Exists.choose ⋯
def FiniteSuccession.dimAt {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin S.length) : ℕ := Exists.choose ⋯
The dimension
nof the model space in the chart data of thei-th blow-up (a witness ofisMonoidal i, chosen). -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.chartAt {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin S.length) : E ≃L[𝕜] Fin (S.dimAt i) → 𝕜 := ⋯.choose
def FiniteSuccession.chartAt {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin S.length) : E ≃L[𝕜] Fin (S.dimAt i) → 𝕜 := ⋯.choose
The chart
E ≃ 𝕜ⁿof thei-th blow-up (chosen). -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.codim {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin S.length) : ℕ := ⋯.choose
def FiniteSuccession.codim {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (i : Fin S.length) : ℕ := ⋯.choose
The codimension
c_iof the centreZ_i(chosen).
-
FiniteSuccession.weakTransformSeqAux[complete] -
FiniteSuccession.weakTransformSeq[complete] -
FiniteSuccession.boundarySeqAux[complete] -
FiniteSuccession.boundarySeq[complete] -
FiniteSuccession.strictTransformSubspaceSeqAux[complete] -
FiniteSuccession.strictTransformSubspaceSeq[complete]
Along a finite succession, by recursion on the stage:
-
S.weakTransformSeq J iis the weak transformJ_i:J_0 = JandJ_{i+1}the weak transform ofJ_iby\sigma_{i+1}(Definition 3.1.4.3); -
S.boundarySeq E iis the boundaryE_i:E_0 = EandE_{i+1} = \mathrm{red}(\sigma_{i+1}^{-1}(E_i) \cup \sigma_{i+1}^{-1}(C_i)); -
S.strictTransformSubspaceSeq J iis the strict transformY_iof the closed subspaceYwith ideal sheafJ:Y_0 = YandY_{i+1}the strict transform ofY_iunder\sigma_{i+1}, the saturation of its total transform by the exceptional divisor (Definition 3.1.4.3); Kollár's restricted sequence [Kol07, Definition 30.2].
Each is defined through an auxiliary recursion on a natural number with a proof that it is a stage
(weakTransformSeqAux, boundarySeqAux, strictTransformSubspaceSeqAux).
Starting the boundary from the unit ideal (the empty divisor) gives the accumulated exceptional divisor, as in the Jacobian principalization (Theorem 4.3.2.1).
Lean code for Definition3.2.1.3●6 definitions
Associated Lean declarations
-
FiniteSuccession.weakTransformSeqAux[complete]
-
FiniteSuccession.weakTransformSeq[complete]
-
FiniteSuccession.boundarySeqAux[complete]
-
FiniteSuccession.boundarySeq[complete]
-
FiniteSuccession.strictTransformSubspaceSeqAux[complete]
-
FiniteSuccession.strictTransformSubspaceSeq[complete]
-
FiniteSuccession.weakTransformSeqAux[complete] -
FiniteSuccession.weakTransformSeq[complete] -
FiniteSuccession.boundarySeqAux[complete] -
FiniteSuccession.boundarySeq[complete] -
FiniteSuccession.strictTransformSubspaceSeqAux[complete] -
FiniteSuccession.strictTransformSubspaceSeq[complete]
-
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.weakTransformSeqAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : ℕ) (h : i < S.length + 1) : (M.finStages S.later ⟨i, h⟩).IdealSheaf := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → (M.finStages S.later ⟨x, x_1⟩).IdealSheaf) x✝¹ (FiniteSuccession.weakTransformSeqAux._f S J) x✝
def FiniteSuccession.weakTransformSeqAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : ℕ) (h : i < S.length + 1) : (M.finStages S.later ⟨i, h⟩).IdealSheaf := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → (M.finStages S.later ⟨x, x_1⟩).IdealSheaf) x✝¹ (FiniteSuccession.weakTransformSeqAux._f S J) x✝
The weak transforms
J_ialong the succession:J_0 = J,J_{i+1}the weak transform ofJ_ibyσ_{i+1}(clause (ii) of [Hir64, Main Theorem II'(N), p. 156]), by recursion oni. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.weakTransformSeq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : Fin (S.length + 1)) : (S.stage i).IdealSheaf := S.weakTransformSeqAux J ↑i ⋯
def FiniteSuccession.weakTransformSeq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : Fin (S.length + 1)) : (S.stage i).IdealSheaf := S.weakTransformSeqAux J ↑i ⋯
The weak transform
J_ion the stageU_i. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.boundarySeqAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (E₀ : M.IdealSheaf) (i : ℕ) (h : i < S.length + 1) : (M.finStages S.later ⟨i, h⟩).IdealSheaf := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → (M.finStages S.later ⟨x, x_1⟩).IdealSheaf) x✝¹ (FiniteSuccession.boundarySeqAux._f S E₀) x✝
def FiniteSuccession.boundarySeqAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (E₀ : M.IdealSheaf) (i : ℕ) (h : i < S.length + 1) : (M.finStages S.later ⟨i, h⟩).IdealSheaf := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → (M.finStages S.later ⟨x, x_1⟩).IdealSheaf) x✝¹ (FiniteSuccession.boundarySeqAux._f S E₀) x✝
The boundaries
E_ialong the succession:E_0 = E,E_{i+1} = red(σ_{i+1}⁻¹(E_i) ∪ σ_{i+1}⁻¹(C_i))(clause (iii) of [Hir64, Main Theorem II'(N), p. 156]), by recursion oni. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.boundarySeq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (E₀ : M.IdealSheaf) (i : Fin (S.length + 1)) : (S.stage i).IdealSheaf := S.boundarySeqAux E₀ ↑i ⋯
def FiniteSuccession.boundarySeq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (E₀ : M.IdealSheaf) (i : Fin (S.length + 1)) : (S.stage i).IdealSheaf := S.boundarySeqAux E₀ ↑i ⋯
The boundary
E_ion the stageU_i. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.strictTransformSubspaceSeqAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : ℕ) (h : i < S.length + 1) : (M.finStages S.later ⟨i, h⟩).IdealSheaf := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → (M.finStages S.later ⟨x, x_1⟩).IdealSheaf) x✝¹ (FiniteSuccession.strictTransformSubspaceSeqAux._f S J) x✝
def FiniteSuccession.strictTransformSubspaceSeqAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : ℕ) (h : i < S.length + 1) : (M.finStages S.later ⟨i, h⟩).IdealSheaf := Nat.brecOn (motive := fun x => (x_1 : x < S.length + 1) → (M.finStages S.later ⟨x, x_1⟩).IdealSheaf) x✝¹ (FiniteSuccession.strictTransformSubspaceSeqAux._f S J) x✝
The ideal-theoretic strict transforms
Y_i ⊆ U_iof the closed subspaceJ ⊆ 𝒪_Malong the succession, indexed by a natural number together with a proof that it is a stage:Y_0 = J,Y_{i+1}the strict transform (strictTransformSubspace) ofY_iunder thei-th blow-up at its witnesses. -
defdefined in Hironaka/Manifold/FiniteSuccession/Defs.leancomplete
def FiniteSuccession.strictTransformSubspaceSeq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : Fin (S.length + 1)) : (S.stage i).IdealSheaf := S.strictTransformSubspaceSeqAux J ↑i ⋯
def FiniteSuccession.strictTransformSubspaceSeq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (J : M.IdealSheaf) (i : Fin (S.length + 1)) : (S.stage i).IdealSheaf := S.strictTransformSubspaceSeqAux J ↑i ⋯
The strict transform
Y_i ⊆ U_iof the closed subspaceJat stageiof the succession ([Kol07, Definition 30.2]; the chainỸ_Zof [Wlo09, §4, (3)⇒(4)]):Y_0 = JandY_{i+1}the strict transform ofY_iunder thei-th blow-up, the saturation of its total transform by the exceptional divisor ([BM97, §3, Proposition 3.13]).
3.2.2. Restriction, extension and compatible families
-
FiniteSuccession.restrict[complete] -
FiniteSuccession.restrictStageOpens[complete] -
FiniteSuccession.restrictOpensLater[complete] -
FiniteSuccession.restrictOpensMapAux[complete] -
FiniteSuccession.restrictOpensIncl[complete] -
FiniteSuccession.restrictOpensCenterAux[complete] -
FiniteSuccession.IsExtensionOf[complete] -
FiniteSuccession.stageMapLE[complete] -
FiniteSuccession.centerAt[complete]
The restriction of an ideal sheaf to an open subset, J|_U, is J.restrict U
(Definition 3.1.3.3). The restriction of a finite succession over an open U_2 to
an open U_1 \subseteq U_2 (FiniteSuccession.restrict) has the preimages of U_1 as
stages and the restricted centres, possibly empty: a blow-up restricted to an open subset is the
blow-up of the open subset with the restricted centre. Its parts are the traces of U_1 on the
stages (restrictStageOpens, restrictOpensLater), the restricted maps
(restrictOpensMapAux, the first composed with the inclusion restrictOpensIncl of
U_1 into U_2) and the restricted centres (restrictOpensCenterAux).
T.IsExtensionOf S is Włodarczyk's extension of a sequence of blow-ups [Wlo09, Definition 3.2.6]:
T consists of the blow-ups of S, at increasing indices j_1 < \cdots < j_m, with
isomorphisms (blow-ups with empty centre) in between, the stages identified over M compatibly
with the maps and the centres; it is stated with the composites between two stages
(stageMapLE) and the centres indexed by their stage (centerAt). "The definition of
extension arises naturally when we pass to open subsets of the considered ambient manifold" (loc.
cit.).
Lean code for Definition3.2.2.1●9 definitions
Associated Lean declarations
-
FiniteSuccession.restrict[complete]
-
FiniteSuccession.restrictStageOpens[complete]
-
FiniteSuccession.restrictOpensLater[complete]
-
FiniteSuccession.restrictOpensMapAux[complete]
-
FiniteSuccession.restrictOpensIncl[complete]
-
FiniteSuccession.restrictOpensCenterAux[complete]
-
FiniteSuccession.IsExtensionOf[complete]
-
FiniteSuccession.stageMapLE[complete]
-
FiniteSuccession.centerAt[complete]
-
FiniteSuccession.restrict[complete] -
FiniteSuccession.restrictStageOpens[complete] -
FiniteSuccession.restrictOpensLater[complete] -
FiniteSuccession.restrictOpensMapAux[complete] -
FiniteSuccession.restrictOpensIncl[complete] -
FiniteSuccession.restrictOpensCenterAux[complete] -
FiniteSuccession.IsExtensionOf[complete] -
FiniteSuccession.stageMapLE[complete] -
FiniteSuccession.centerAt[complete]
-
complete
def FiniteSuccession.restrict {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) {U₁ : Opens M.carrier} (h : U₁ ≤ U₂) : (M.restrict U₁).FiniteSuccession := { length := S.length, later := S.restrictOpensLater U₁, center := fun i => S.restrictOpensCenterAux h ↑i ⋯, map := fun i => S.restrictOpensMapAux U₁ ↑i ⋯, isMonoidal := ⋯ }
def FiniteSuccession.restrict {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) {U₁ : Opens M.carrier} (h : U₁ ≤ U₂) : (M.restrict U₁).FiniteSuccession := { length := S.length, later := S.restrictOpensLater U₁, center := fun i => S.restrictOpensCenterAux h ↑i ⋯, map := fun i => S.restrictOpensMapAux U₁ ↑i ⋯, isMonoidal := ⋯ }
The restriction of a finite succession
Sover the openU₂ ⊆ Mto an openU₁ ≤ U₂(Włodarczyk's restriction of the factorization ofprin_{I|Ũ_2}toŨ_1, [Wlo09, Theorem 2.0.3 (4)]): the stages are the preimages(σ^i)⁻¹(U₁) ⊆ U_i, the centres the restrictionsC_i ∩ (σ^i)⁻¹(U₁)(possibly empty: Włodarczyk's isomorphism steps, [Wlo09, Definition 3.2.6, Remark (1)]), the maps the restrictions of theσ_{i+1}— a blow-up restricted to an open subset is the blow-up of the open subset with the restricted centre, as is immediate from the chart description of the blowing-up [BM88, Definition 4.1] (IsBlowUp.restrictOpens'). -
complete
def FiniteSuccession.restrictStageOpens {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) (U₁ : Opens M.carrier) (i : Fin (S.length + 1)) : Opens (S.stage i).carrier := { carrier := (fun p => ↑((S.stageMap i) p)) ⁻¹' ↑U₁, is_open' := ⋯ }
def FiniteSuccession.restrictStageOpens {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) (U₁ : Opens M.carrier) (i : Fin (S.length + 1)) : Opens (S.stage i).carrier := { carrier := (fun p => ↑((S.stageMap i) p)) ⁻¹' ↑U₁, is_open' := ⋯ }
The trace of
U₁on the stageU_iofS: the preimage ofU₁under the composite blow-downσ^i : U_i → U₂ ⊆ M(Włodarczyk's restriction of the factorization toŨ₁, [Wlo09, Theorem 2.0.3 (4)]). -
complete
def FiniteSuccession.restrictOpensLater {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) (U₁ : Opens M.carrier) (j : Fin S.length) : AnalyticManifold 𝕜 E := (S.stage j.succ).restrict (S.restrictStageOpens U₁ j.succ)
def FiniteSuccession.restrictOpensLater {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) (U₁ : Opens M.carrier) (j : Fin S.length) : AnalyticManifold 𝕜 E := (S.stage j.succ).restrict (S.restrictStageOpens U₁ j.succ)
The later stages of the restriction: the traces of
U₁onU_1, …, U_r. -
complete
def FiniteSuccession.restrictOpensMapAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) (U₁ : Opens M.carrier) (i : ℕ) (hi : i < S.length) : AnalyticMap ((M.restrict U₁).finStages (S.restrictOpensLater U₁) ⟨i + 1, ⋯⟩) ((M.restrict U₁).finStages (S.restrictOpensLater U₁) ⟨i, ⋯⟩) := match x✝¹, x✝ with | 0, hi => ⟨fun q => ⟨↑((S.map ⟨0, hi⟩) ↑q), ⋯⟩, ⋯⟩ | i.succ, hi => ⟨fun q => ⟨(S.map ⟨i + 1, hi⟩) ↑q, ⋯⟩, ⋯⟩
def FiniteSuccession.restrictOpensMapAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) (U₁ : Opens M.carrier) (i : ℕ) (hi : i < S.length) : AnalyticMap ((M.restrict U₁).finStages (S.restrictOpensLater U₁) ⟨i + 1, ⋯⟩) ((M.restrict U₁).finStages (S.restrictOpensLater U₁) ⟨i, ⋯⟩) := match x✝¹, x✝ with | 0, hi => ⟨fun q => ⟨↑((S.map ⟨0, hi⟩) ↑q), ⋯⟩, ⋯⟩ | i.succ, hi => ⟨fun q => ⟨(S.map ⟨i + 1, hi⟩) ↑q, ⋯⟩, ⋯⟩
The restricted blow-downs
σ_{i+1}|between the traces: the first lands inU₁itself, the others between traces of later stages (a blowing-up restricted over an open subset). -
complete
def FiniteSuccession.restrictOpensIncl {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ U₁ : Opens M.carrier} (h : U₁ ≤ U₂) : AnalyticMap (M.restrict U₁) (M.restrict U₂) := ⟨Opens.inclusion h, ⋯⟩
def FiniteSuccession.restrictOpensIncl {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ U₁ : Opens M.carrier} (h : U₁ ≤ U₂) : AnalyticMap (M.restrict U₁) (M.restrict U₂) := ⟨Opens.inclusion h, ⋯⟩
The open inclusion
U₁ → U₂as an analytic map (Mathlib'sOpens.inclusionwithcontMDiff_inclusion), the stage-0inclusion of the restriction. -
complete
def FiniteSuccession.restrictOpensCenterAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) {U₁ : Opens M.carrier} (h : U₁ ≤ U₂) (i : ℕ) (hi : i < S.length) : ((M.restrict U₁).finStages (S.restrictOpensLater U₁) ⟨i, ⋯⟩).IdealSheaf := match x✝¹, x✝ with | 0, hi => IdealSheaf.pullback ⇑(FiniteSuccession.restrictOpensIncl h) ⋯ (S.center ⟨0, hi⟩) | i.succ, hi => (S.center ⟨i + 1, hi⟩).restrict (S.restrictStageOpens U₁ ⟨i + 1, ⋯⟩)
def FiniteSuccession.restrictOpensCenterAux {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} {U₂ : Opens M.carrier} (S : (M.restrict U₂).FiniteSuccession) {U₁ : Opens M.carrier} (h : U₁ ≤ U₂) (i : ℕ) (hi : i < S.length) : ((M.restrict U₁).finStages (S.restrictOpensLater U₁) ⟨i, ⋯⟩).IdealSheaf := match x✝¹, x✝ with | 0, hi => IdealSheaf.pullback ⇑(FiniteSuccession.restrictOpensIncl h) ⋯ (S.center ⟨0, hi⟩) | i.succ, hi => (S.center ⟨i + 1, hi⟩).restrict (S.restrictStageOpens U₁ ⟨i + 1, ⋯⟩)
The restricted centres
C_i ∩ σ^{-i}(U₁): the centreC_icomapped along the inclusion of the trace (possibly empty: Włodarczyk's isomorphism steps, [Wlo09, Definition 3.2.6, Remark (1)]). -
complete
def FiniteSuccession.IsExtensionOf {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (T S : M.FiniteSuccession) : Prop := ∃ blk e, blk 0 = 0 ∧ blk (Fin.last T.length) = Fin.last S.length ∧ ∀ (k : Fin T.length), ↑(blk k.succ) = ↑(blk k.castSucc) ∨ ↑(blk k.succ) = ↑(blk k.castSucc) + 1 ∧ ∀ (k : Fin (T.length + 1)) (p : (T.stage k).carrier), (S.stageMap (blk k)) ((e k) p) = (T.stageMap k) p ∧ ∀ (k : Fin T.length) (hle : blk k.castSucc ≤ blk k.succ) (p : (T.stage k.succ).carrier), (S.stageMapLE hle) ((e k.succ) p) = (e k.castSucc) ((T.map k) p) ∧ ∀ (k : Fin T.length) (ha : ↑(blk k.castSucc) < S.length), ↑(blk k.succ) = ↑(blk k.castSucc) + 1 → T.center k = IdealSheaf.pullback ⇑(e k.castSucc) ⋯ (S.centerAt (blk k.castSucc) ha) ∧ ∀ (k : Fin T.length), ↑(blk k.succ) = ↑(blk k.castSucc) → IdealSheaf.support (T.center k) = ∅
def FiniteSuccession.IsExtensionOf {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (T S : M.FiniteSuccession) : Prop := ∃ blk e, blk 0 = 0 ∧ blk (Fin.last T.length) = Fin.last S.length ∧ ∀ (k : Fin T.length), ↑(blk k.succ) = ↑(blk k.castSucc) ∨ ↑(blk k.succ) = ↑(blk k.castSucc) + 1 ∧ ∀ (k : Fin (T.length + 1)) (p : (T.stage k).carrier), (S.stageMap (blk k)) ((e k) p) = (T.stageMap k) p ∧ ∀ (k : Fin T.length) (hle : blk k.castSucc ≤ blk k.succ) (p : (T.stage k.succ).carrier), (S.stageMapLE hle) ((e k.succ) p) = (e k.castSucc) ((T.map k) p) ∧ ∀ (k : Fin T.length) (ha : ↑(blk k.castSucc) < S.length), ↑(blk k.succ) = ↑(blk k.castSucc) + 1 → T.center k = IdealSheaf.pullback ⇑(e k.castSucc) ⋯ (S.centerAt (blk k.castSucc) ha) ∧ ∀ (k : Fin T.length), ↑(blk k.succ) = ↑(blk k.castSucc) → IdealSheaf.support (T.center k) = ∅
Włodarczyk's extension of a sequence of blow-ups [Wlo09, Definition 3.2.6]:
Tis an extension ofSwhenTis a sequence of blow-ups and isomorphismsM = T_0 = ⋯ = T_{j_1-1} ← T_{j_1} = ⋯ = T_{j_2-1} ← ⋯ ← T_{j_m} = ⋯ = T_{m'}withT_{j_i} = S_i: there are indicesj_1 < ⋯ < j_m(m = S.length,m' = T.length) such that the blow-ups ofTat the indicesj_iare those ofS(the stagesT_{j_i}identified withS_ioverM, compatibly with the maps and the centres) and every other step ofTis an isomorphism, a blow-up with empty centre. In the Lean: a block indexblk : {0, …, m'} → {0, …, m}(the stageT_kis identified withS_{blk k};blk 0 = 0,blk m' = m, each step raisesblkby0or1, the steps raising it being thej_i), identificationse k : T_k ≃ S_{blk k}(Włodarczyk's "=": analytic isomorphisms overM, i.e. commuting with the composite blow-downs, so thate 0is the identity ofM), compatible with the maps (σ^S_{blk k + 1} ∘ ⋯ ∘ σ^S_{blk (k+1)} ∘ e (k+1) = e k ∘ σ^T_{k+1}, throughstageMapLE: at a jump the blow-up ofS, at a non-jump the identity) and with the centres (at a jumpC^T_kis the pull-back ofC^S_{blk k}alonge k); at a non-jump the step is an isomorphism, a blow-up with empty centre [Wlo09, Definition 3.2.6, Remark (1)]. "The definition of extension arises naturally when we pass to open subsets of the considered ambient manifold" (loc. cit.); [Wlo09, Theorem 3.5.1 (2)] states the compatibility of the canonical resolution with local analytic isomorphisms in these terms. That the restriction of a compatible family's succession is an extension of the succession over the smaller compact is the content ofExtensionCompatibleFamily's last field, not of this definition. -
complete
def FiniteSuccession.stageMapLE {𝕜 : 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) : AnalyticMap (S.stage b) (S.stage a) := Nat.leRecOn hab (fun {k} f hk => ContMDiffMap.comp (f ⋯) (S.map ⟨k, ⋯⟩)) (fun x => ContMDiffMap.id) ⋯
def FiniteSuccession.stageMapLE {𝕜 : 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) : AnalyticMap (S.stage b) (S.stage a) := Nat.leRecOn hab (fun {k} f hk => ContMDiffMap.comp (f ⋯) (S.map ⟨k, ⋯⟩)) (fun x => ContMDiffMap.id) ⋯
The composite
σ_{a+1} ∘ ⋯ ∘ σ_b : U_b → U_aof the maps ofSbetween two stagesa ≤ b(Nat.leRecOnona ≤ b; the identity ata = b,σ_{a+1}atb = a + 1;stageMapis the casea = 0). -
complete
def FiniteSuccession.centerAt {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (a : Fin (S.length + 1)) (ha : ↑a < S.length) : (S.stage a).IdealSheaf := S.center ⟨↑a, ha⟩
def FiniteSuccession.centerAt {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (S : M.FiniteSuccession) (a : Fin (S.length + 1)) (ha : ↑a < S.length) : (S.stage a).IdealSheaf := S.center ⟨↑a, ha⟩
The centre
C_aon the stageU_a,a < r, indexed by the stage.
-
ExtensionCompatibleFamily[complete] -
ExtensionCompatibleFamily.space[complete] -
ExtensionCompatibleFamily.map[complete] -
ExtensionCompatibleFamily.nhd[complete] -
ExtensionCompatibleFamily.seq[complete]
An ExtensionCompatibleFamily M is the compatible-family form of a locally finite principalization:
a manifold \tilde M (space) with an analytic map \tilde M \to M (map,
Włodarczyk's \mathrm{prin}_I, Hironaka's canonical modification X_\gamma \to X), and for every
compact K \subseteq M
-
an open neighbourhood
U_KofK(nhd K), monotone inK; -
a finite succession
seq KoverU_Kwhose end result is identified with\mathrm{map}^{-1}(U_K)overU_K, so that the map restricted there is the composite of the blow-ups;
such that for K_1 \subseteq K_2 the restriction of seq K₂ to U_{K_1} is an extension of
seq K₁. Properness of the map is not part of the definition; the main theorems assert it.
Lean code for Definition3.2.2.2●5 definitions
Associated Lean declarations
-
ExtensionCompatibleFamily[complete]
-
ExtensionCompatibleFamily.space[complete]
-
ExtensionCompatibleFamily.map[complete]
-
ExtensionCompatibleFamily.nhd[complete]
-
ExtensionCompatibleFamily.seq[complete]
-
ExtensionCompatibleFamily[complete] -
ExtensionCompatibleFamily.space[complete] -
ExtensionCompatibleFamily.map[complete] -
ExtensionCompatibleFamily.nhd[complete] -
ExtensionCompatibleFamily.seq[complete]
-
structuredefined in Hironaka/Manifold/FiniteSuccession/CompatibleFamily/Defs.leancomplete
structure ExtensionCompatibleFamily {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (M : AnalyticManifold 𝕜 E) : Type (max (u + 1) u_1)
structure ExtensionCompatibleFamily {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] (M : AnalyticManifold 𝕜 E) : Type (max (u + 1) u_1)
Włodarczyk's data in [Wlo09, Theorem 2.0.3 (1), (4)] with [Wlo09, Definition 3.2.6], the compatible-family form of the analytic main theorems: a manifold
M̃(space) with an analytic mapM̃ → M(map; Włodarczyk'sprin_I, Hironaka's canonical modificationX_γ → X); for every compactK ⊆ Man open neighbourhoodU_K = nhd K ⊇ K, monotone inK("corresponding open neighborhoodsU_1 ⊂ U_2"), and a finite successionseq Kof blow-ups with smooth centres overU_Kwhose end resultU_ris identified withŨ = map⁻¹(U_K)overU_K(toSpace,map_toSpace,toSpace_isIso: "U_r = Ũ", "the restrictionprin_{I|Ũ}splits into" the sequence); and the compatibility (4): forK_1 ⊆ K_2the restriction ofseq K_2toU_{K_1}is an extension ofseq K_1— "the restriction of the factorization ofprin_{I|Ũ_2}toŨ_1determines the factorization ofprin_{I|Ũ_1}". The properness ofmapis a clause of the main theorems.Fields
space : AnalyticManifold 𝕜 E
The manifold
M̃.map : AnalyticMap self.space M
The analytic map
M̃ → M(Włodarczyk'sprin_I; Hironaka's canonical modificationX_γ → X[Hir64, p. 155]).nhd : Compacts M.carrier → Opens M.carrier
For every compact
K ⊆ M, an open neighbourhoodU_KofK[Wlo09, Theorem 2.0.3 (1)].subset_nhd : ∀ (K : Compacts M.carrier), ↑K ⊆ ↑(self.nhd K)
K ⊆ U_K.nhd_mono : Monotone self.nhd
K_1 ⊆ K_2givesU_{K_1} ⊆ U_{K_2}([Wlo09, Theorem 2.0.3 (4)]: "corresponding open neighborhoodsU_1 ⊂ U_2").seq : (K : Compacts M.carrier) → (M.restrict (self.nhd K)).FiniteSuccession
The finite sequence of blow-ups over
U_K[Wlo09, Theorem 2.0.3 (1)].toSpace : (K : Compacts M.carrier) → AnalyticMap (self.seq K).last self.space
The identification of the end result
U_rof (∗) withŨ = map⁻¹(U_K): an analytic mapU_r → M̃…map_toSpace : ∀ (K : Compacts M.carrier), ContMDiffMap.comp self.map (self.toSpace K) = ContMDiffMap.comp (M.inclusion (self.nhd K)) (self.seq K).composite
… over
U_K:map ∘ toSpace = σ^ras maps toM, …toSpace_isIso : ∀ (K : Compacts M.carrier), (self.toSpace K).IsIsoOver (⇑self.map ⁻¹' ↑(self.nhd K))
… which is an analytic isomorphism onto
map⁻¹(U_K)("U_r = Ũ").isExtensionOf_restrict : ∀ (K₁ K₂ : Compacts M.carrier) (h : K₁ ≤ K₂), ((self.seq K₂).restrict ⋯).IsExtensionOf (self.seq K₁)
[Wlo09, Theorem 2.0.3 (4)] with [Wlo09, Definition 3.2.6]: for
K_1 ⊆ K_2, the restriction of the sequence overU_{K_2}toU_{K_1}is an extension of the sequence overU_{K_1}. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/CompatibleFamily/Defs.leancomplete
abbrev ExtensionCompatibleFamily.space {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) : AnalyticManifold 𝕜 E := self.1
abbrev ExtensionCompatibleFamily.space {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) : AnalyticManifold 𝕜 E := self.1
The manifold
M̃. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/CompatibleFamily/Defs.leancomplete
abbrev ExtensionCompatibleFamily.map {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) : AnalyticMap self.space M := self.2
abbrev ExtensionCompatibleFamily.map {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) : AnalyticMap self.space M := self.2
The analytic map
M̃ → M(Włodarczyk'sprin_I; Hironaka's canonical modificationX_γ → X[Hir64, p. 155]). -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/CompatibleFamily/Defs.leancomplete
abbrev ExtensionCompatibleFamily.nhd {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) : Compacts M.carrier → Opens M.carrier := self.3
abbrev ExtensionCompatibleFamily.nhd {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) : Compacts M.carrier → Opens M.carrier := self.3
For every compact
K ⊆ M, an open neighbourhoodU_KofK[Wlo09, Theorem 2.0.3 (1)]. -
abbrevdefined in Hironaka/Manifold/FiniteSuccession/CompatibleFamily/Defs.leancomplete
abbrev ExtensionCompatibleFamily.seq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) (K : Compacts M.carrier) : (M.restrict (self.nhd K)).FiniteSuccession := self.6
abbrev ExtensionCompatibleFamily.seq {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M : AnalyticManifold 𝕜 E} (self : M.ExtensionCompatibleFamily) (K : Compacts M.carrier) : (M.restrict (self.nhd K)).FiniteSuccession := self.6
The finite sequence of blow-ups over
U_K[Wlo09, Theorem 2.0.3 (1)].
3.2.3. Morphisms of successions
For an analytic map \varphi \colon N \to M between manifolds on possibly different model
spaces, a finite succession R over an open U' \subseteq N and a finite succession S over
an open U \subseteq M, a morphism R.Hom S φ from R to S over \varphi consists of an
index j_k of a stage of R for every stage S_k, running from 0 to the last stage of
R in steps of 0 or 1, and analytic maps f_k \colon R_{j_k} \to S_k which lie over
\varphi and commute with the blow-downs (through the composites between two stages,
stageMapLE, Definition 3.2.2.1). The pull-back and the push-forward of
successions below are such morphisms with conditions on the maps and on the centres.
Lean code for Definition3.2.3.1●1 definition
Associated Lean declarations
-
FiniteSuccession.Hom[complete]
-
FiniteSuccession.Hom[complete]
-
structuredefined in Hironaka/Manifold/FiniteSuccession/CompatibleFamily/Defs.leancomplete
structure FiniteSuccession.Hom {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {M : AnalyticManifold 𝕜 E} {N : AnalyticManifold 𝕜 E'} {U : Opens M.carrier} {U' : Opens N.carrier} (R : (N.restrict U').FiniteSuccession) (S : (M.restrict U).FiniteSuccession) (φ : C^⊤⟮𝓘(𝕜, E'), N.carrier; 𝓘(𝕜, E), M.carrier⟯) : Type u
structure FiniteSuccession.Hom {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {M : AnalyticManifold 𝕜 E} {N : AnalyticManifold 𝕜 E'} {U : Opens M.carrier} {U' : Opens N.carrier} (R : (N.restrict U').FiniteSuccession) (S : (M.restrict U).FiniteSuccession) (φ : C^⊤⟮𝓘(𝕜, E'), N.carrier; 𝓘(𝕜, E), M.carrier⟯) : Type u
A morphism of finite successions over
φ : N → M, from the finite successionRover an openU'ofNto the finite successionSover an openUofM. Withr = S.lengthandr' = R.length: an indexj_k = blk kof a stage ofRfor every stageS_k, withj_0 = 0,j_r = r'and each step ofSraising the index by0or1, and analytic mapsf_k : R_{j_k} → S_k(map k) lying overφ(σ^S_k ∘ f_k = φ ∘ σ^R_{j_k}, read inMthrough the inclusions ofUandU') and compatible with the blow-downs (σ^S_{k+1} ∘ f_{k+1} = f_k ∘ σ^R_{j_k + 1} ∘ ⋯ ∘ σ^R_{j_{k+1}}, throughstageMapLE). The pull-back and the push-forward of successions (IsPullbackUpToEmptyAlong,IsPushforwardUpToEmptyAlong) are morphisms with conditions on the maps and the centres.Fields
blk : Fin (S.length + 1) → Fin (R.length + 1)
The index
j_kof the stage ofRmapped to the stageS_k.map : (k : Fin (S.length + 1)) → C^⊤⟮𝓘(𝕜, E'), (R.stage (self.blk k)).carrier; 𝓘(𝕜, E), (S.stage k).carrier⟯
The map
f_k : R_{j_k} → S_k.blk_zero : self.blk 0 = 0
j_0 = 0.blk_last : self.blk (Fin.last S.length) = Fin.last R.length
j_r = r'.blk_succ : ∀ (k : Fin S.length), ↑(self.blk k.succ) = ↑(self.blk k.castSucc) ∨ ↑(self.blk k.succ) = ↑(self.blk k.castSucc) + 1
Each step of
Sraises the index by0or1.stageMap_map : ∀ (k : Fin (S.length + 1)) (p : (R.stage (self.blk k)).carrier), (M.inclusion U) ((S.stageMap k) ((self.map k) p)) = φ ((N.inclusion U') ((R.stageMap (self.blk k)) p))
f_klies overφ:σ^S_k ∘ f_k = φ ∘ σ^R_{j_k}, read inM.map_map : ∀ (k : Fin S.length) (hle : self.blk k.castSucc ≤ self.blk k.succ) (p : (R.stage (self.blk k.succ)).carrier), (S.map k) ((self.map k.succ) p) = (self.map k.castSucc) ((R.stageMapLE hle) p)
The
f_kare compatible with the blow-downs.
3.2.4. Pull-back along a local analytic isomorphism
-
FiniteSuccession.IsPullbackUpToEmptyAlong[complete] -
ExtensionCompatibleFamily.IsPullbackAlong[complete]
For an analytic map g \colon N \to M, a finite succession R over an open U' \subseteq N and
a finite succession S over an open U \subseteq M, R.IsPullbackUpToEmptyAlong S g says that
R is the pull-back of S along g, up to blow-ups with empty centre: there is a morphism
from R to S over g (Definition 3.2.3.1) whose maps
f_k \colon R_{j_k} \to S_k are local analytic isomorphisms, such that at a step that raises
the index the centre of R is the pull-back of the centre of S (centerAt,
Definition 3.2.2.1), and at a step that does not, the pulled-back centre is empty.
The pull-back of a blowing-up along a local analytic isomorphism is the blowing-up of the
pulled-back centre, so the stages of R are the fibre products N \times_M S_k with the steps
of empty pulled-back centre (isomorphisms) left out.
For compatible families (Definition 3.2.2.2) F' over N and F over M,
F'.IsPullbackAlong F g (ExtensionCompatibleFamily.IsPullbackAlong) says that for
compacts K' \subseteq N, K \subseteq M with g(U_{K'}) \subseteq U_K the succession of
F' over U_{K'} is the pull-back along g of the succession of F over U_K, up to
blow-ups with empty centre. This is the form in which the commutation of principalization with
local analytic isomorphisms is stated (Definition 4.3.3.5).
Lean code for Definition3.2.4.1●2 definitions
Associated Lean declarations
-
FiniteSuccession.IsPullbackUpToEmptyAlong[complete]
-
ExtensionCompatibleFamily.IsPullbackAlong[complete]
-
FiniteSuccession.IsPullbackUpToEmptyAlong[complete] -
ExtensionCompatibleFamily.IsPullbackAlong[complete]
-
complete
def FiniteSuccession.IsPullbackUpToEmptyAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : Opens M.carrier} {U' : Opens N.carrier} (R : (N.restrict U').FiniteSuccession) (S : (M.restrict U).FiniteSuccession) (g : AnalyticMap N M) : Prop := ∃ f, (∀ (k : Fin (S.length + 1)), IsLocalDiffeomorph 𝓘(𝕜, E) 𝓘(𝕜, E) ⊤ ⇑(f.map k)) ∧ ∀ (k : Fin S.length) (ha : ↑(f.blk k.castSucc) < R.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) + 1 → R.centerAt (f.blk k.castSucc) ha = IdealSheaf.pullback ⇑(f.map k.castSucc) ⋯ (S.center k) ∧ ∀ (k : Fin S.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) → (IdealSheaf.pullback ⇑(f.map k.castSucc) ⋯ (S.center k)).support = ∅
def FiniteSuccession.IsPullbackUpToEmptyAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} {U : Opens M.carrier} {U' : Opens N.carrier} (R : (N.restrict U').FiniteSuccession) (S : (M.restrict U).FiniteSuccession) (g : AnalyticMap N M) : Prop := ∃ f, (∀ (k : Fin (S.length + 1)), IsLocalDiffeomorph 𝓘(𝕜, E) 𝓘(𝕜, E) ⊤ ⇑(f.map k)) ∧ ∀ (k : Fin S.length) (ha : ↑(f.blk k.castSucc) < R.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) + 1 → R.centerAt (f.blk k.castSucc) ha = IdealSheaf.pullback ⇑(f.map k.castSucc) ⋯ (S.center k) ∧ ∀ (k : Fin S.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) → (IdealSheaf.pullback ⇑(f.map k.castSucc) ⋯ (S.center k)).support = ∅
R, a finite succession over an openU'ofN, is the pull-back of the finite successionSover an openUofMalongg : N → M, up to blow-ups with empty centre: there is a morphismR → Soverg(FiniteSuccession.Hom), with indexj_kand mapsf_k : R_{j_k} → S_k, whose maps are local analytic isomorphisms, such that at a step raising the index the centre ofRis the pull-backf_k^*(C_k)of the centre ofSand at a step that does not, the pull-back of the centre is empty. SoRis the sequence of the fibre productsN ×_M S_kwith some of its blow-ups of empty centre (isomorphisms) removed. -
complete
def ExtensionCompatibleFamily.IsPullbackAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} (F' : N.ExtensionCompatibleFamily) (F : M.ExtensionCompatibleFamily) (g : AnalyticMap N M) : Prop := ∀ (K' : Compacts N.carrier) (K : Compacts M.carrier), ⇑g '' ↑(F'.nhd K') ⊆ ↑(F.nhd K) → (F'.seq K').IsPullbackUpToEmptyAlong (F.seq K) g
def ExtensionCompatibleFamily.IsPullbackAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {M N : AnalyticManifold 𝕜 E} (F' : N.ExtensionCompatibleFamily) (F : M.ExtensionCompatibleFamily) (g : AnalyticMap N M) : Prop := ∀ (K' : Compacts N.carrier) (K : Compacts M.carrier), ⇑g '' ↑(F'.nhd K') ⊆ ↑(F.nhd K) → (F'.seq K').IsPullbackUpToEmptyAlong (F.seq K) g
The compatible family
F'overNis the pull-back of the compatible familyFoverMalongg : N → M: for compactsK' ⊆ N,K ⊆ Mwithg(U_{K'}) ⊆ U_K, the succession ofF'overU_{K'}is the pull-back alonggof the succession ofFoverU_K, up to blow-ups with empty centre (FiniteSuccession.IsPullbackUpToEmptyAlong, [Wlo09, Theorem 3.5.1 (2)]).
3.2.5. Push-forward along a closed embedding
For an analytic map \tau \colon N \to M between manifolds on possibly different model spaces, a
finite succession S over an open U \subseteq M and a finite succession R over an open
U' \subseteq N with \tau(U') \subseteq U, S.IsPushforwardUpToEmptyAlong R τ says that S
is the push-forward of R along \tau, up to blow-ups whose centres lie outside the part over
\tau(U'): there is a morphism from R to S over \tau (Definition 3.2.3.1)
whose maps f_k \colon R_{j_k} \to S_k are embeddings with image closed in the part of S_k
over \tau(U'), such that at a step that raises the index the centre of R is the preimage
under f_k of the centre of S, at a step that does not, f_k misses the centre, and every
point of a centre of S over \tau(U') lies in the image of f_k.
Kollár's push-forward j_* B of a blow-up sequence of a closed submanifold [Kol07, Definition 30.3] has centres Z_i^X = (j_i)_*(Z_i^S), with j_i \colon S_i \to X_i the inclusions of
the strict transforms. Here the strict transforms are not formed: the images of the f_k are the
strict transforms of \tau(U'), and S is the push-forward of R with blow-ups whose centres
lie away from \tau(U') interspersed, the blow-ups of the sequence over the trace of U on
\tau(N) that the sequence over the smaller open U' omits.
For compatible families F over M and F' over N, F.IsPushforwardAlong F' τ
(ExtensionCompatibleFamily.IsPushforwardAlong) says that for compacts K' \subseteq N,
K \subseteq M with \tau(U_{K'}) \subseteq U_K the succession of F over U_K is the
push-forward along \tau of the succession of F' over U_{K'}, up to blow-ups whose centres
lie outside the part over \tau(U_{K'}). This is the form in which the commutation of
principalization with closed embeddings is stated (Definition 4.3.3.6).
Lean code for Definition3.2.5.1●2 definitions
Associated Lean declarations
-
complete
def FiniteSuccession.IsPushforwardUpToEmptyAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {M : AnalyticManifold 𝕜 E} {N : AnalyticManifold 𝕜 E'} {U : Opens M.carrier} {U' : Opens N.carrier} (S : (M.restrict U).FiniteSuccession) (R : (N.restrict U').FiniteSuccession) (τ : C^⊤⟮𝓘(𝕜, E'), N.carrier; 𝓘(𝕜, E), M.carrier⟯) : Prop := ∃ f, (∀ (k : Fin (S.length + 1)), IsEmbedding ⇑(f.map k)) ∧ ∀ (k : Fin (S.length + 1)), ∀ q ∈ closure (range ⇑(f.map k)), (M.inclusion U) ((S.stageMap k) q) ∈ ⇑τ '' ↑U' → q ∈ range ⇑(f.map k) ∧ ∀ (k : Fin S.length) (ha : ↑(f.blk k.castSucc) < R.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) + 1 → ⇑(f.map k.castSucc) ⁻¹' IdealSheaf.support (S.center k) = IdealSheaf.support (R.centerAt (f.blk k.castSucc) ha) ∧ ∀ (k : Fin S.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) → ⇑(f.map k.castSucc) ⁻¹' IdealSheaf.support (S.center k) = ∅ ∧ ∀ (k : Fin S.length), ∀ q ∈ IdealSheaf.support (S.center k), (M.inclusion U) ((S.stageMap k.castSucc) q) ∈ ⇑τ '' ↑U' → q ∈ range ⇑(f.map k.castSucc)
def FiniteSuccession.IsPushforwardUpToEmptyAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {M : AnalyticManifold 𝕜 E} {N : AnalyticManifold 𝕜 E'} {U : Opens M.carrier} {U' : Opens N.carrier} (S : (M.restrict U).FiniteSuccession) (R : (N.restrict U').FiniteSuccession) (τ : C^⊤⟮𝓘(𝕜, E'), N.carrier; 𝓘(𝕜, E), M.carrier⟯) : Prop := ∃ f, (∀ (k : Fin (S.length + 1)), IsEmbedding ⇑(f.map k)) ∧ ∀ (k : Fin (S.length + 1)), ∀ q ∈ closure (range ⇑(f.map k)), (M.inclusion U) ((S.stageMap k) q) ∈ ⇑τ '' ↑U' → q ∈ range ⇑(f.map k) ∧ ∀ (k : Fin S.length) (ha : ↑(f.blk k.castSucc) < R.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) + 1 → ⇑(f.map k.castSucc) ⁻¹' IdealSheaf.support (S.center k) = IdealSheaf.support (R.centerAt (f.blk k.castSucc) ha) ∧ ∀ (k : Fin S.length), ↑(f.blk k.succ) = ↑(f.blk k.castSucc) → ⇑(f.map k.castSucc) ⁻¹' IdealSheaf.support (S.center k) = ∅ ∧ ∀ (k : Fin S.length), ∀ q ∈ IdealSheaf.support (S.center k), (M.inclusion U) ((S.stageMap k.castSucc) q) ∈ ⇑τ '' ↑U' → q ∈ range ⇑(f.map k.castSucc)
S, a finite succession over an openUofM, is the push-forward of the finite successionRover an openU'ofNalong the closed embeddingτ : N → M, up to blow-ups whose centres lie outside the part overτ(U')— Kollár'sj_* B[Kol07, Definition 30.3], with centresZ_i^X := (j_i)_*(Z_i^S)and the natural inclusionsj_i : S_i → X_iof the strict transforms ofτ(N), for a successionSover an openU ⊇ τ(U'): there is a morphismR → Soverτ(FiniteSuccession.Hom), with indexj_kand mapsf_k : R_{j_k} → S_k, whose maps are embeddings with image closed in the part ofS_koverτ(U'), such that at a step raising the index the centre ofRis the preimagef_k⁻¹(C_k)of the centre ofS, at a step that does not,f_kmisses the centre, and every point of a centre ofSlying overτ(U')is in the image off_k. So overτ(U')the centres ofSare the images of the centres ofRand the images of thef_kare the strict transforms ofτ(U'), andSis the push-forward ofRwith blow-ups whose centres lie away fromτ(U')interspersed. -
complete
def ExtensionCompatibleFamily.IsPushforwardAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {M : AnalyticManifold 𝕜 E} {N : AnalyticManifold 𝕜 E'} (F : M.ExtensionCompatibleFamily) (F' : N.ExtensionCompatibleFamily) (τ : C^⊤⟮𝓘(𝕜, E'), N.carrier; 𝓘(𝕜, E), M.carrier⟯) : Prop := ∀ (K' : Compacts N.carrier) (K : Compacts M.carrier), ⇑τ '' ↑(F'.nhd K') ⊆ ↑(F.nhd K) → (F.seq K).IsPushforwardUpToEmptyAlong (F'.seq K') τ
def ExtensionCompatibleFamily.IsPushforwardAlong {𝕜 : Type} [RCLike 𝕜] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace 𝕜 E'] {M : AnalyticManifold 𝕜 E} {N : AnalyticManifold 𝕜 E'} (F : M.ExtensionCompatibleFamily) (F' : N.ExtensionCompatibleFamily) (τ : C^⊤⟮𝓘(𝕜, E'), N.carrier; 𝓘(𝕜, E), M.carrier⟯) : Prop := ∀ (K' : Compacts N.carrier) (K : Compacts M.carrier), ⇑τ '' ↑(F'.nhd K') ⊆ ↑(F.nhd K) → (F.seq K).IsPushforwardUpToEmptyAlong (F'.seq K') τ
The compatible family
FoverMis the push-forward of the compatible familyF'overNalongτ : N → M: for compactsK' ⊆ N,K ⊆ Mwithτ(U_{K'}) ⊆ U_K, the succession ofFoverU_Kis the push-forward alongτof the succession ofF'overU_{K'}, up to blow-ups whose centres lie outside the part overτ(U_{K'})(FiniteSuccession.IsPushforwardUpToEmptyAlong, [Kol07, 34.3]).