Documentation

Hironaka.Resolution.Analytic.ModelTransport.SncFamily

Simple normal crossings families and the boundary predicates along an analytic isomorphism #

The simple-normal-crossings vocabulary of Hironaka/Manifold/Snc/Defs.lean β€” a family G : HypersurfaceFamily M being simple normal crossings in a chart isomorphism Οˆβ‚€ : E ≃L[π•œ] (Fin n β†’ π•œ) (IsSnc), a set having simple normal crossings with it (HasSncWith), its reduced ideal sheaf (idealSheaf) β€” and the boundary predicates of the analytic main theorems in their family form (AnalyticManifold.IdealSheaf.IsSncBoundary, IsSncBoundaryWith; [Kol07, Definition 24], [Wlo09, Definition 3.2.4]) transport along an analytic isomorphism g : N ≃ M across the models (Diffeomorph π“˜(π•œ, E') π“˜(π•œ, E) N M Ο‰), the family being pulled back as G.comap g.

Bookkeeping: pull-backs of families, the two chart isomorphisms #

@[simp]

Pulling a family back along the identity is the identity.

theorem Manifold.HypersurfaceFamily.comap_symm_comap {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) (G : HypersurfaceFamily M.carrier) :
comap (⇑g.symm) (comap (⇑g) G) = G

Pulling back along g and then along g⁻¹ is the identity.

theorem Hironaka.Manifold.Diffeomorph.symm_preimage_preimage {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) (S : Set M.carrier) :
⇑g.symm ⁻¹' ⇑g ⁻¹' S = S

g⁻¹ ⁻¹' (g ⁻¹' S) = S.

theorem Hironaka.Manifold.trans_symm_symm_trans_apply {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {n : β„•} (Οˆβ‚€ : E ≃L[π•œ] Fin n β†’ π•œ) (Οˆβ‚ : E' ≃L[π•œ] Fin n β†’ π•œ) (v : E') :
((Οˆβ‚€.trans Οˆβ‚.symm).symm.trans Οˆβ‚€) v = Οˆβ‚ v

Through the model isomorphism Οˆβ‚β»ΒΉ ∘ Οˆβ‚€ : E ≃ E', the chart isomorphism Οˆβ‚€ of E re-reads as Οˆβ‚ on E' (pointwise).

theorem Manifold.IsClosedSubmanifold.congr_cle {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {M : AnalyticManifold π•œ E} {n : β„•} {ψ ψ' : E ≃L[π•œ] Fin n β†’ π•œ} (h : βˆ€ (v : E), ψ v = ψ' v) {Y : Set M.carrier} {c : β„•} (hY : IsClosedSubmanifold ψ Y c) :

The closed-submanifold predicate depends on the chart isomorphism only pointwise.

Simple normal crossings along g #

theorem Manifold.HypersurfaceFamily.IsSncChartAt.of_square {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) {n : β„•} (Οˆβ‚€ : E ≃L[π•œ] Fin n β†’ π•œ) (Οˆβ‚ : E' ≃L[π•œ] Fin n β†’ π•œ) (G : HypersurfaceFamily M.carrier) {Ο† : OpenPartialHomeomorph M.carrier E} {a : N.carrier} {c : { j : G.ΞΉ // g a ∈ G.hyp j } β†’ Fin n} (h : IsSncChartAt Οˆβ‚€ G Ο† (g a) c) :
IsSncChartAt Οˆβ‚ (comap (⇑g) G) (Hironaka.Manifold.chartOfSquare g (Οˆβ‚€.trans Οˆβ‚.symm) Ο†) a c

An snc chart of G at g a in the chart isomorphism Οˆβ‚€ reads, through g and the model isomorphism Οˆβ‚β»ΒΉ ∘ Οˆβ‚€, as an snc chart of G.comap g at a in Οˆβ‚, with the same coordinate indices.

theorem Manifold.HypersurfaceFamily.isSnc_comap_diffeomorph {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) {n : β„•} (Οˆβ‚€ : E ≃L[π•œ] Fin n β†’ π•œ) (Οˆβ‚ : E' ≃L[π•œ] Fin n β†’ π•œ) (G : HypersurfaceFamily M.carrier) (hG : IsSnc Οˆβ‚€ G) :
IsSnc Οˆβ‚ (comap (⇑g) G)

The forward direction, for any two chart isomorphisms: an snc family pulled back along g is snc β€” the hypersurfaces by IsClosedSubmanifold.preimage_of_square re-read in Οˆβ‚, local finiteness by LocallyFinite.preimage_continuous, the snc charts by IsSncChartAt.of_square.

theorem Manifold.HypersurfaceFamily.isSnc_comap_diffeomorph_iff {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) {n : β„•} (Οˆβ‚€ : E ≃L[π•œ] Fin n β†’ π•œ) (Οˆβ‚ : E' ≃L[π•œ] Fin n β†’ π•œ) (G : HypersurfaceFamily M.carrier) :
IsSnc Οˆβ‚ (comap (⇑g) G) ↔ IsSnc Οˆβ‚€ G

An snc family pulled back along an analytic isomorphism across the models is snc, in any chart isomorphism of the target model, and conversely: the converse is the forward direction along g⁻¹.

theorem Manifold.HypersurfaceFamily.hasSncWith_comap_diffeomorph {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) {n : β„•} (Οˆβ‚€ : E ≃L[π•œ] Fin n β†’ π•œ) (Οˆβ‚ : E' ≃L[π•œ] Fin n β†’ π•œ) (G : HypersurfaceFamily M.carrier) {Y : Set M.carrier} {c : β„•} (hG : HasSncWith Οˆβ‚€ G Y c) :
HasSncWith Οˆβ‚ (comap (⇑g) G) (⇑g ⁻¹' Y) c

The forward direction: HasSncWith along g β€” the adapted snc chart at g a reads as an adapted snc chart at a.

theorem Manifold.HypersurfaceFamily.hasSncWith_comap_diffeomorph_iff {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) {n : β„•} (Οˆβ‚€ : E ≃L[π•œ] Fin n β†’ π•œ) (Οˆβ‚ : E' ≃L[π•œ] Fin n β†’ π•œ) (G : HypersurfaceFamily M.carrier) (Y : Set M.carrier) (c : β„•) :
HasSncWith Οˆβ‚ (comap (⇑g) G) (⇑g ⁻¹' Y) c ↔ HasSncWith Οˆβ‚€ G Y c

HasSncWith along an analytic isomorphism across the models: g⁻¹(Y) has simple normal crossings with G.comap g in Οˆβ‚ iff Y has with G in Οˆβ‚€.

The reduced ideal sheaf of a family along an analytic isomorphism across the models is the pull-back of the reduced ideal sheaf: both branches of the definition correspond β€” the vanishing stalks of g⁻¹(|G|) are the images of those of |G| under the stalk isomorphism of g, and local generators are carried both ways.

theorem Manifold.HypersurfaceFamily.isSnc_congr_chart {π•œ : Type} [RCLike π•œ] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace π•œ E] {M : AnalyticManifold π•œ E} {n : β„•} (Οˆβ‚€ Οˆβ‚€' : E ≃L[π•œ] Fin n β†’ π•œ) (G : HypersurfaceFamily M.carrier) :
IsSnc Οˆβ‚€' G ↔ IsSnc Οˆβ‚€ G

IsSnc does not depend on the chart isomorphism: the corollary of isSnc_comap_diffeomorph_iff at g := Diffeomorph.refl.

The boundary predicates of the main theorems along g, with the model isomorphism #

theorem AnalyticManifold.IdealSheaf.isSncBoundary_pullbackDiffeomorph_iff {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) (ψ : E ≃L[π•œ] E') (B : M.IdealSheaf) :

The boundary predicate IsSncBoundary of the main theorems along an analytic isomorphism across the models, with the model isomorphism ψ: the snc family and its chart isomorphism are carried by isSnc_comap_diffeomorph and idealSheaf_comap_diffeomorph (ψ.trans Οˆβ‚' towards M, ψ.symm.trans Οˆβ‚€ towards N).

theorem AnalyticManifold.IdealSheaf.isSncBoundaryWith_pullbackDiffeomorph_iff {π•œ : Type} [RCLike π•œ] {E : Type u_1} {E' : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] [NormedAddCommGroup E'] [NormedSpace π•œ E'] {M : AnalyticManifold π•œ E} {N : AnalyticManifold π•œ E'} (g : Diffeomorph (modelWithCornersSelf π•œ E') (modelWithCornersSelf π•œ E) N.carrier M.carrier ⊀) (ψ : E ≃L[π•œ] E') (B D : M.IdealSheaf) :

The boundary-with-centre predicate IsSncBoundaryWith of the main theorems along an analytic isomorphism across the models, with the model isomorphism ψ: isSnc_comap_diffeomorph, hasSncWith_comap_diffeomorph (on (D.pullbackDiffeomorph g).support = g⁻¹(D.support)) and idealSheaf_comap_diffeomorph.

The transversal boundary predicate IsSncBoundaryTransversalTo of WΕ‚odarczyk's embedded desingularization along an analytic isomorphism across the models, with the model isomorphism ψ: the family is G.comap g (isSnc_comap_diffeomorph, idealSheaf_comap_diffeomorph), and at a point a of g⁻¹(Y) the adapted snc chart of G at g a is read through g (chartOfSquare, IsAdaptedChart.of_square, IsSncChartAt.of_square), the coordinate indices, hence the transversality, unchanged.

The factorization predicate IsMulBoundaryMonomial of WΕ‚odarczyk's embedded desingularization along an analytic isomorphism across the models, with the model isomorphism ψ: the family is G.comap g, and at every point x the stalk identity at g x is carried by the stalk isomorphism of g, which maps products, powers and the vanishing ideals of the components of G to those of the components of G.comap g (vanishingStalk_preimage_pullbackDiffeomorph).