3.3. Analytic spaces
Lean names in this section are shown relative to AnalyticSpace, Manifold, AnalyticManifold, TopologicalSpace, Topology, Filter, Set.
The resolution of analytic spaces (Theorem 4.3.5.5, Theorem 4.3.6.1) is
stated for K-analytic spaces in
Hironaka's sense [Hir64, Ch. 0, §1], K = \mathbb{R} or \mathbb{C} (RCLike K): locally ringed
spaces locally isomorphic to the zero set of finitely many analytic functions with the quotient
structure sheaf. The library builds them from Mathlib's locally ringed spaces in the namespace
AnalyticSpace, where the theorems are also stated, so that their names are those of this
chapter.
3.3.1. K-local-ringed spaces
-
KLocallyRingedSpace[complete] -
KLocallyRingedSpace.toLocallyRingedSpace[complete] -
KLocallyRingedSpace.algebraMap[complete] -
KLocallyRingedSpace.Hom[complete] -
KLocallyRingedSpace.Hom.toFun[complete] -
KLocallyRingedSpace.instCategory[complete] -
KLocallyRingedSpace.KIso[complete] -
KLocallyRingedSpace.restrictOpen[complete] -
KLocallyRingedSpace.ofRestrict[complete] -
KLocallyRingedSpace.Hom.ofFac[complete] -
KLocallyRingedSpace.instCoeSortType[complete]
A KLocallyRingedSpace K is a locally ringed space (toLocallyRingedSpace) with a structural
ring homomorphism algebraMap : K →+* Γ(X, 𝒪_X), the ring form of a morphism to
\operatorname{Spec} K. Its morphisms (Hom, with underlying map Hom.toFun) are the
morphisms of locally ringed spaces commuting with the structural homomorphisms, forming the category
\mathfrak{R}/K (instCategory) with isomorphisms KIso. An open subset gives the
open subspace X|_U (restrictOpen) with its open immersion (ofRestrict), and a
factorization of a K-morphism through another is a K-morphism (Hom.ofFac). The
coercion instCoeSortType lets X stand for its type of points.
Lean code for Definition3.3.1.1●11 definitions
Associated Lean declarations
-
KLocallyRingedSpace[complete]
-
KLocallyRingedSpace.toLocallyRingedSpace[complete]
-
KLocallyRingedSpace.algebraMap[complete]
-
KLocallyRingedSpace.Hom[complete]
-
KLocallyRingedSpace.Hom.toFun[complete]
-
KLocallyRingedSpace.instCategory[complete]
-
KLocallyRingedSpace.KIso[complete]
-
KLocallyRingedSpace.restrictOpen[complete]
-
KLocallyRingedSpace.ofRestrict[complete]
-
KLocallyRingedSpace.Hom.ofFac[complete]
-
KLocallyRingedSpace.instCoeSortType[complete]
-
KLocallyRingedSpace[complete] -
KLocallyRingedSpace.toLocallyRingedSpace[complete] -
KLocallyRingedSpace.algebraMap[complete] -
KLocallyRingedSpace.Hom[complete] -
KLocallyRingedSpace.Hom.toFun[complete] -
KLocallyRingedSpace.instCategory[complete] -
KLocallyRingedSpace.KIso[complete] -
KLocallyRingedSpace.restrictOpen[complete] -
KLocallyRingedSpace.ofRestrict[complete] -
KLocallyRingedSpace.Hom.ofFac[complete] -
KLocallyRingedSpace.instCoeSortType[complete]
-
structuredefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
structure KLocallyRingedSpace (K : Type) [RCLike K] : Type (u + 1)
structure KLocallyRingedSpace (K : Type) [RCLike K] : Type (u + 1)
A
K-local-ringed space [Hir64, Ch. 0, §1, p. 119]: a locally ringed spaceXtogether with its structural homomorphismalgebraMap : K →+* Γ(X, 𝒪_X), the ring-homomorphism form of a morphismX → Spec K.Fields
carrier : TopCat
Inherited from-
AlgebraicGeometry.LocallyRingedSpace -
AlgebraicGeometry.SheafedSpace -
AlgebraicGeometry.PresheafedSpace
presheaf : TopCat.Presheaf CommRingCat ↑self.toPresheafedSpace
Inherited from-
AlgebraicGeometry.LocallyRingedSpace -
AlgebraicGeometry.SheafedSpace -
AlgebraicGeometry.PresheafedSpace
IsSheaf : self.presheaf.IsSheaf
Inherited from-
AlgebraicGeometry.LocallyRingedSpace -
AlgebraicGeometry.SheafedSpace
isLocalRing : ∀ (x : ↑↑self.toPresheafedSpace), IsLocalRing ↑(self.presheaf.stalk x)
Inherited from-
AlgebraicGeometry.LocallyRingedSpace
algebraMap : K →+* ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op self.toLocallyRingedSpace))
The
K-structure: the constantsK → Γ(X, 𝒪_X). -
-
abbrevdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
abbrev KLocallyRingedSpace.toLocallyRingedSpace {K : Type} [RCLike K] (self : KLocallyRingedSpace K) : AlgebraicGeometry.LocallyRingedSpace := self.1
abbrev KLocallyRingedSpace.toLocallyRingedSpace {K : Type} [RCLike K] (self : KLocallyRingedSpace K) : AlgebraicGeometry.LocallyRingedSpace := self.1
-
abbrevdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
abbrev KLocallyRingedSpace.algebraMap {K : Type} [RCLike K] (self : KLocallyRingedSpace K) : K →+* ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op self.toLocallyRingedSpace)) := self.2
abbrev KLocallyRingedSpace.algebraMap {K : Type} [RCLike K] (self : KLocallyRingedSpace K) : K →+* ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op self.toLocallyRingedSpace)) := self.2
The
K-structure: the constantsK → Γ(X, 𝒪_X). -
abbrevdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
abbrev KLocallyRingedSpace.Hom {K : Type} [RCLike K] (X Y : KLocallyRingedSpace K) : Type u := { f // (CommRingCat.Hom.hom (AlgebraicGeometry.LocallyRingedSpace.Γ.map f.op)).comp Y.algebraMap = X.algebraMap }
abbrev KLocallyRingedSpace.Hom {K : Type} [RCLike K] (X Y : KLocallyRingedSpace K) : Type u := { f // (CommRingCat.Hom.hom (AlgebraicGeometry.LocallyRingedSpace.Γ.map f.op)).comp Y.algebraMap = X.algebraMap }
The
K-morphisms [Hir64, Ch. 0, §1, p. 121]: the morphisms of locally ringed spaces that commute with the structural homomorphisms on global sections. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.Hom.toFun {K : Type} [RCLike K] {X Y : KLocallyRingedSpace K} (f : X ⟶ Y) : ↑↑X.toPresheafedSpace → ↑↑Y.toPresheafedSpace := (CategoryTheory.ConcreteCategory.hom (↑f).base) x
def KLocallyRingedSpace.Hom.toFun {K : Type} [RCLike K] {X Y : KLocallyRingedSpace K} (f : X ⟶ Y) : ↑↑X.toPresheafedSpace → ↑↑Y.toPresheafedSpace := (CategoryTheory.ConcreteCategory.hom (↑f).base) x
The underlying continuous map of a
K-morphism. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.instCategory {K : Type} [RCLike K] : CategoryTheory.Category.{u, u + 1} (KLocallyRingedSpace K)
def KLocallyRingedSpace.instCategory {K : Type} [RCLike K] : CategoryTheory.Category.{u, u + 1} (KLocallyRingedSpace K)
The category
ℜ/KofK-local-ringed spaces [Hir64, Ch. 0, §1, p. 121]. -
abbrevdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
abbrev KLocallyRingedSpace.KIso {K : Type} [RCLike K] (X Y : KLocallyRingedSpace K) : Type u := X ≅ Y
abbrev KLocallyRingedSpace.KIso {K : Type} [RCLike K] (X Y : KLocallyRingedSpace K) : Type u := X ≅ Y
K-isomorphisms: the isomorphisms of the categoryℜ/K(Hironaka's "K-isomorphic"). -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.restrictOpen {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (U : Opens ↑↑X.toPresheafedSpace) : KLocallyRingedSpace K := let __LocallyRingedSpace := X.restrict ⋯; { toLocallyRingedSpace := __LocallyRingedSpace, algebraMap := (CommRingCat.Hom.hom (AlgebraicGeometry.LocallyRingedSpace.Γ.map (X.ofRestrict ⋯).op)).comp X.algebraMap }
def KLocallyRingedSpace.restrictOpen {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (U : Opens ↑↑X.toPresheafedSpace) : KLocallyRingedSpace K := let __LocallyRingedSpace := X.restrict ⋯; { toLocallyRingedSpace := __LocallyRingedSpace, algebraMap := (CommRingCat.Hom.hom (AlgebraicGeometry.LocallyRingedSpace.Γ.map (X.ofRestrict ⋯).op)).comp X.algebraMap }
The open subspace
X | U[Hir64, Ch. 0, §1, p. 120]: the restriction of the locally ringed space along the open embedding ofU, with theK-structure obtained by restricting the constants. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.ofRestrict {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (U : Opens ↑↑X.toPresheafedSpace) : X.restrictOpen U ⟶ X := ⟨X.ofRestrict ⋯, ⋯⟩
def KLocallyRingedSpace.ofRestrict {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (U : Opens ↑↑X.toPresheafedSpace) : X.restrictOpen U ⟶ X := ⟨X.ofRestrict ⋯, ⋯⟩
The open immersion
X | U ⟶ Xas aK-morphism. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.Hom.ofFac {K : Type} [RCLike K] {A B X : KLocallyRingedSpace K} (a : A ⟶ X) (b : B ⟶ X) (l : A.toLocallyRingedSpace ⟶ B.toLocallyRingedSpace) (hl : l ≫ ↑b = ↑a) : A ⟶ B := ⟨l, ⋯⟩
def KLocallyRingedSpace.Hom.ofFac {K : Type} [RCLike K] {A B X : KLocallyRingedSpace K} (a : A ⟶ X) (b : B ⟶ X) (l : A.toLocallyRingedSpace ⟶ B.toLocallyRingedSpace) (hl : l ≫ ↑b = ↑a) : A ⟶ B := ⟨l, ⋯⟩
A factorization
lof theK-morphismathrough theK-morphismbis aK-morphism. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.instCoeSortType {K : Type} [RCLike K] : CoeSort (KLocallyRingedSpace K) (Type u)
def KLocallyRingedSpace.instCoeSortType {K : Type} [RCLike K] : CoeSort (KLocallyRingedSpace K) (Type u)
-
KLocallyRingedSpace.ofManifold[complete] -
KLocallyRingedSpace.ofManifoldBase[complete] -
KLocallyRingedSpace.ofManifoldSheafHom[complete] -
KLocallyRingedSpace.ofManifoldHomAux[complete] -
KLocallyRingedSpace.ofManifoldHom[complete] -
toSpace[complete] -
toSpaceHom[complete]
An analytic manifold M is a K-local-ringed space (M, \mathcal{O}_M) with the sheaf of
analytic functions (KLocallyRingedSpace.ofManifold); an analytic map induces a K-morphism
by precomposition (ofManifoldBase, ofManifoldSheafHom, ofManifoldHomAux,
ofManifoldHom). With Hironaka's axioms verified, M is an analytic space
\operatorname{Sp}(M) (toSpace) and an analytic map a morphism \operatorname{Sp}(f)
(toSpaceHom).
Lean code for Definition3.3.1.2●7 definitions
Associated Lean declarations
-
KLocallyRingedSpace.ofManifold[complete]
-
KLocallyRingedSpace.ofManifoldBase[complete]
-
KLocallyRingedSpace.ofManifoldSheafHom[complete]
-
KLocallyRingedSpace.ofManifoldHomAux[complete]
-
KLocallyRingedSpace.ofManifoldHom[complete]
-
toSpace[complete]
-
toSpaceHom[complete]
-
KLocallyRingedSpace.ofManifold[complete] -
KLocallyRingedSpace.ofManifoldBase[complete] -
KLocallyRingedSpace.ofManifoldSheafHom[complete] -
KLocallyRingedSpace.ofManifoldHomAux[complete] -
KLocallyRingedSpace.ofManifoldHom[complete] -
toSpace[complete] -
toSpaceHom[complete]
-
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.ofManifold (K : Type) [RCLike K] (E : Type u_1) [NormedAddCommGroup E] [NormedSpace K E] (M : Type u) [TopologicalSpace M] [ChartedSpace E M] : KLocallyRingedSpace K := { carrier := ↧M, presheaf := (structureSheaf K E M).presheaf, IsSheaf := ⋯, isLocalRing := ⋯, algebraMap := constHom K E M }
def KLocallyRingedSpace.ofManifold (K : Type) [RCLike K] (E : Type u_1) [NormedAddCommGroup E] [NormedSpace K E] (M : Type u) [TopologicalSpace M] [ChartedSpace E M] : KLocallyRingedSpace K := { carrier := ↧M, presheaf := (structureSheaf K E M).presheaf, IsSheaf := ⋯, isLocalRing := ⋯, algebraMap := constHom K E M }
The locally ringed space
(M, 𝒪_M)of an analytic manifoldMmodelled onE:𝒪_Mis the sheaf of analytic functions onM, whose stalks are local rings, and the constants give theK-structure. ForM = Kⁿthis is Hironaka's(Kⁿ, 𝒜_{Kⁿ}),𝒜_{Kⁿ}the sheaf of germs of analyticK-functions onKⁿ, with the convergent power series ringsK{z₁ - x₁, …, zₙ - xₙ}as stalks [Hir64, Ch. 0, §1]. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.ofManifoldBase {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : ↧M ⟶ ↧N := TopCat.ofHom { toFun := f, continuous_toFun := ⋯ }
def KLocallyRingedSpace.ofManifoldBase {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : ↧M ⟶ ↧N := TopCat.ofHom { toFun := f, continuous_toFun := ⋯ }
The continuous map underlying an analytic map, as a morphism of
TopCat. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.ofManifoldSheafHom {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : (structureSheaf K E' N).presheaf ⟶ (TopCat.Presheaf.pushforward CommRingCat (KLocallyRingedSpace.ofManifoldBase f hf)).obj (structureSheaf K E M).presheaf := { app := fun U => CommRingCat.ofHom { toFun := fun g => ⟨↑g ∘ (Opposite.unop U).1.restrictPreimage f, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }, naturality := ⋯ }
def KLocallyRingedSpace.ofManifoldSheafHom {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : (structureSheaf K E' N).presheaf ⟶ (TopCat.Presheaf.pushforward CommRingCat (KLocallyRingedSpace.ofManifoldBase f hf)).obj (structureSheaf K E M).presheaf := { app := fun U => CommRingCat.ofHom { toFun := fun g => ⟨↑g ∘ (Opposite.unop U).1.restrictPreimage f, ⋯⟩, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }, naturality := ⋯ }
The sheaf map of an analytic map,
𝒪_N ⟶ f_* 𝒪_M: precomposition withf, an analytic functiongonU ⊆ Ngoing tog ∘ fonf⁻¹(U). -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.ofManifoldHomAux {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : (KLocallyRingedSpace.ofManifold K E M).toPresheafedSpace ⟶ (KLocallyRingedSpace.ofManifold K E' N).toPresheafedSpace := { base := KLocallyRingedSpace.ofManifoldBase f hf, c := KLocallyRingedSpace.ofManifoldSheafHom f hf }
def KLocallyRingedSpace.ofManifoldHomAux {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : (KLocallyRingedSpace.ofManifold K E M).toPresheafedSpace ⟶ (KLocallyRingedSpace.ofManifold K E' N).toPresheafedSpace := { base := KLocallyRingedSpace.ofManifoldBase f hf, c := KLocallyRingedSpace.ofManifoldSheafHom f hf }
(Implementation.) The morphism of presheafed spaces underlying
ofManifoldHom. -
defdefined in Hironaka/AnalyticSpace/KSpace/Defs.leancomplete
def KLocallyRingedSpace.ofManifoldHom {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : KLocallyRingedSpace.ofManifold K E M ⟶ KLocallyRingedSpace.ofManifold K E' N := ⟨let __spread.0 := KLocallyRingedSpace.ofManifoldHomAux f hf; { toHom := __spread.0, prop := ⋯ }, ⋯⟩
def KLocallyRingedSpace.ofManifoldHom {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {E' : Type u_2} [NormedAddCommGroup E'] [NormedSpace K E'] {M : Type u} [TopologicalSpace M] [ChartedSpace E M] {N : Type u} [TopologicalSpace N] [ChartedSpace E' N] (f : M → N) (hf : ContMDiff 𝓘(K, E) 𝓘(K, E') ⊤ f) : KLocallyRingedSpace.ofManifold K E M ⟶ KLocallyRingedSpace.ofManifold K E' N := ⟨let __spread.0 := KLocallyRingedSpace.ofManifoldHomAux f hf; { toHom := __spread.0, prop := ⋯ }, ⋯⟩
The
K-morphism induced by an analytic mapf : M → N: base mapf, sheaf map precomposition withf; the stalk maps are local since evaluation is preserved and a germ is a unit exactly when its value is nonzero; constants go to constants. -
defdefined in Hironaka/AnalyticSpace/Manifold/Defs.leancomplete
def toSpace {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {n : ℕ} (ψ : E ≃L[K] Fin n → K) (M : AnalyticManifold K E) : AnalyticSpace K := let __KLocallyRingedSpace := KLocallyRingedSpace.ofManifold K E M.carrier; { toKLocallyRingedSpace := __KLocallyRingedSpace, locallyModel := ⋯, t2 := ⋯, sigmaCompact := ⋯ }
def toSpace {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {n : ℕ} (ψ : E ≃L[K] Fin n → K) (M : AnalyticManifold K E) : AnalyticSpace K := let __KLocallyRingedSpace := KLocallyRingedSpace.ofManifold K E M.carrier; { toKLocallyRingedSpace := __KLocallyRingedSpace, locallyModel := ⋯, t2 := ⋯, sigmaCompact := ⋯ }
The analytic
K-spaceSp(M)of an analytic manifoldM[Hir64, Ch. 0, §1, pp. 119–120]: theK-local-ringed space(M, 𝒪_M)of analytic functions with Hironaka's clauses (i)–(iii) (see the module docstring). The coordinatesψenter only the proofs of clauses (i) and (ii). -
defdefined in Hironaka/AnalyticSpace/Manifold/Defs.leancomplete
def toSpaceHom {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {n : ℕ} (ψ : E ≃L[K] Fin n → K) {M N : AnalyticManifold K E} (f : AnalyticMap M N) : toSpace ψ M ⟶ toSpace ψ N := KLocallyRingedSpace.ofManifoldHom ⇑f ⋯
def toSpaceHom {K : Type} [RCLike K] {E : Type u_1} [NormedAddCommGroup E] [NormedSpace K E] {n : ℕ} (ψ : E ≃L[K] Fin n → K) {M N : AnalyticManifold K E} (f : AnalyticMap M N) : toSpace ψ M ⟶ toSpace ψ N := KLocallyRingedSpace.ofManifoldHom ⇑f ⋯
The morphism
Sp(f) : Sp(M) ⟶ Sp(N)of an analytic mapf : M → Nbetween analytic manifolds: precomposition withfon sections (ofManifoldHom).
3.3.2. Local models and quotients
-
Kn[complete] -
AnalyticFun[complete] -
affine[complete] -
analyticSpaceOfOpen[complete] -
toGlobal[complete] -
IdealSheaf.ofGlobal[complete] -
modelIdeal[complete] -
localModel[complete]
The local models: Kn K n is K^n (placed in the universe of the construction),
AnalyticFun K n G the analytic functions on an open G \subseteq K^n, affine K n the
K-local-ringed space (K^n, \mathcal{A}_{K^n}) and analyticSpaceOfOpen K n G its open
subspace (G, \mathcal{A}_G), into whose global sections analytic functions map by
toGlobal. Finitely many analytic functions f_1, \dots, f_k on G generate an ideal
sheaf (IdealSheaf.ofGlobal, modelIdeal), and the local analytic space
localModel K n G f is the quotient
(S(\mathcal{I}), (\mathcal{A}_G/\mathcal{I})|_{S(\mathcal{I})}) by it.
Lean code for Definition3.3.2.1●8 definitions
Associated Lean declarations
-
Kn[complete]
-
AnalyticFun[complete]
-
affine[complete]
-
analyticSpaceOfOpen[complete]
-
toGlobal[complete]
-
IdealSheaf.ofGlobal[complete]
-
modelIdeal[complete]
-
localModel[complete]
-
Kn[complete] -
AnalyticFun[complete] -
affine[complete] -
analyticSpaceOfOpen[complete] -
toGlobal[complete] -
IdealSheaf.ofGlobal[complete] -
modelIdeal[complete] -
localModel[complete]
-
abbrevdefined in Hironaka/AnalyticSpace/Defs.leancomplete
abbrev Kn (K : Type) (n : ℕ) : Type u := ULift.{u, 0} (Fin n → K)
abbrev Kn (K : Type) (n : ℕ) : Type u := ULift.{u, 0} (Fin n → K)
Kⁿ, placed in the universeu(a linear isometry away fromFin n → K; see the module docstring). -
abbrevdefined in Hironaka/AnalyticSpace/Defs.leancomplete
Γ(G, 𝒜_{Kⁿ}): the regular analyticK-functions on the openG ⊆ Kⁿ(Hironaka's "elements ofΓ(G, 𝒜_G)"). -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def affine (K : Type) [RCLike K] (n : ℕ) : KLocallyRingedSpace K := KLocallyRingedSpace.ofManifold K (Kn K n) (Kn K n)
def affine (K : Type) [RCLike K] (n : ℕ) : KLocallyRingedSpace K := KLocallyRingedSpace.ofManifold K (Kn K n) (Kn K n)
(Kⁿ, 𝒜_{Kⁿ}), theK-local-ringed space of the sheaf of regular analyticK-functions onKⁿ[Hir64, Ch. 0, §1]:Kⁿas an analytic manifold over itself. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def analyticSpaceOfOpen (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) : KLocallyRingedSpace K := (affine K n).restrictOpen G
def analyticSpaceOfOpen (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) : KLocallyRingedSpace K := (affine K n).restrictOpen G
(G, 𝒜_G)for an openG ⊆ Kⁿ,𝒜_Gthe restriction of𝒜_{Kⁿ}toG; aK-local-ringed space [Hir64, Ch. 0, §1]. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def toGlobal (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) : AnalyticFun K n G →+* ↑((analyticSpaceOfOpen K n G).presheaf.obj (Opposite.op ⊤)) := CommRingCat.Hom.hom ((affine K n).presheaf.map (CategoryTheory.homOfLE ⋯).op)
def toGlobal (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) : AnalyticFun K n G →+* ↑((analyticSpaceOfOpen K n G).presheaf.obj (Opposite.op ⊤)) := CommRingCat.Hom.hom ((affine K n).presheaf.map (CategoryTheory.homOfLE ⋯).op)
An analytic function on
Gas a global section of𝒜_G(the restriction map along the identification ofGwith the top open of the subspace). -
defdefined in Hironaka/Manifold/IdealSheaf/Defs.leancomplete
def IdealSheaf.ofGlobal {X : TopCat} (𝒪 : TopCat.Sheaf CommRingCat X) {k : ℕ} (f : Fin k → ↑(𝒪.presheaf.obj (Opposite.op ⊤))) : Manifold.IdealSheaf 𝒪 := IdealSheaf.ofStalks 𝒪 (fun x => Ideal.span (range fun i => (CategoryTheory.ConcreteCategory.hom (𝒪.presheaf.germ ⊤ x trivial)) (f i))) ⋯
def IdealSheaf.ofGlobal {X : TopCat} (𝒪 : TopCat.Sheaf CommRingCat X) {k : ℕ} (f : Fin k → ↑(𝒪.presheaf.obj (Opposite.op ⊤))) : Manifold.IdealSheaf 𝒪 := IdealSheaf.ofStalks 𝒪 (fun x => Ideal.span (range fun i => (CategoryTheory.ConcreteCategory.hom (𝒪.presheaf.germ ⊤ x trivial)) (f i))) ⋯
The ideal sheaf generated by finitely many global sections
f₁, …, f_k(Hironaka's "sheaf of ideals generated by a finite number of regular analyticK-functions onG"):IdealSheaf.ofStalkswith the constant family of generators. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def modelIdeal (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) {k : ℕ} (f : Fin k → AnalyticFun K n G) : Manifold.IdealSheaf (analyticSpaceOfOpen K n G).𝒪 := IdealSheaf.ofGlobal (analyticSpaceOfOpen K n G).𝒪 fun i => (toGlobal K n G) (f i)
def modelIdeal (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) {k : ℕ} (f : Fin k → AnalyticFun K n G) : Manifold.IdealSheaf (analyticSpaceOfOpen K n G).𝒪 := IdealSheaf.ofGlobal (analyticSpaceOfOpen K n G).𝒪 fun i => (toGlobal K n G) (f i)
The ideal sheaf
𝓘 = (f₁, …, f_k) ⊆ 𝒜_Gof a local model. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def localModel (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) {k : ℕ} (f : Fin k → AnalyticFun K n G) : KLocallyRingedSpace K := (analyticSpaceOfOpen K n G).quotient (modelIdeal K n G f)
def localModel (K : Type) [RCLike K] (n : ℕ) (G : Opens (Kn K n)) {k : ℕ} (f : Fin k → AnalyticFun K n G) : KLocallyRingedSpace K := (analyticSpaceOfOpen K n G).quotient (modelIdeal K n G f)
The local analytic
K-space(S(𝓘), (𝒜_G/𝓘)|_{S(𝓘)}),𝓘 = (f₁, …, f_k)[Hir64, Ch. 0, §1]: the quotient of(G, 𝒜_G)by the ideal sheaf generated by thef_i.
-
QuotientSpace.support[complete] -
QuotientSpace.fiber[complete] -
QuotientSpace.preimage[complete] -
QuotientSpace.stalkIdeal[complete] -
QuotientSpace.prelocalPred[complete] -
QuotientSpace.localPred[complete] -
QuotientSpace.sheafTypes[complete] -
QuotientSpace.instCommRingObjOppositeOpensCarrierSupportPresheafSheafTypes[complete] -
QuotientSpace.sectionsSubring[complete] -
QuotientSpace.presheafCommRing[complete] -
QuotientSpace.classFamily[complete] -
QuotientSpace.classHom[complete] -
QuotientSpace.ιTop[complete] -
QuotientSpace.ιHom[complete] -
QuotientSpace.quotientSpace[complete] -
QuotientSpace.ι[complete] -
KLocallyRingedSpace.quotient[complete] -
KLocallyRingedSpace.quotientι[complete]
The quotient of a locally ringed space X by an ideal sheaf \mathcal{J} of finite type is the
locally ringed space (S(\mathcal{J}), (\mathcal{O}_X/\mathcal{J})|_{S(\mathcal{J})})
(QuotientSpace.quotientSpace) [Hir64, Ch. 0, §1]; [BM97, §3]. Its points are the support
S(\mathcal{J}) = \{z : \mathcal{J}_z \ne \mathcal{O}_{X,z}\} (support, with
preimage of opens), and its sections over an open set are the families of classes in the
fibres \mathcal{O}_{X,z}/\mathcal{J}_z (fiber, stalkIdeal) that are locally the
classes of one ambient section (prelocalPred, localPred). These form a sheaf of
rings (sheafTypes with its ring instance, sectionsSubring, presheafCommRing,
sheafCommRing). The canonical morphism into X sends an ambient section to its family of classes
(classFamily, classHom, ιTop, ιHom) and has local stalk maps
(isLocalHom_stalkMap), giving the closed embedding QuotientSpace.ι. With the induced
K-structure this is KLocallyRingedSpace.quotient and quotientι.
Lean code for Definition3.3.2.2●18 definitions
Associated Lean declarations
-
QuotientSpace.support[complete]
-
QuotientSpace.fiber[complete]
-
QuotientSpace.preimage[complete]
-
QuotientSpace.stalkIdeal[complete]
-
QuotientSpace.prelocalPred[complete]
-
QuotientSpace.localPred[complete]
-
QuotientSpace.sheafTypes[complete]
-
QuotientSpace.instCommRingObjOppositeOpensCarrierSupportPresheafSheafTypes[complete]
-
QuotientSpace.sectionsSubring[complete]
-
QuotientSpace.presheafCommRing[complete]
-
QuotientSpace.classFamily[complete]
-
QuotientSpace.classHom[complete]
-
QuotientSpace.ιTop[complete]
-
QuotientSpace.ιHom[complete]
-
QuotientSpace.quotientSpace[complete]
-
QuotientSpace.ι[complete]
-
KLocallyRingedSpace.quotient[complete]
-
KLocallyRingedSpace.quotientι[complete]
-
QuotientSpace.support[complete] -
QuotientSpace.fiber[complete] -
QuotientSpace.preimage[complete] -
QuotientSpace.stalkIdeal[complete] -
QuotientSpace.prelocalPred[complete] -
QuotientSpace.localPred[complete] -
QuotientSpace.sheafTypes[complete] -
QuotientSpace.instCommRingObjOppositeOpensCarrierSupportPresheafSheafTypes[complete] -
QuotientSpace.sectionsSubring[complete] -
QuotientSpace.presheafCommRing[complete] -
QuotientSpace.classFamily[complete] -
QuotientSpace.classHom[complete] -
QuotientSpace.ιTop[complete] -
QuotientSpace.ιHom[complete] -
QuotientSpace.quotientSpace[complete] -
QuotientSpace.ι[complete] -
KLocallyRingedSpace.quotient[complete] -
KLocallyRingedSpace.quotientι[complete]
-
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.support (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat := ↧↑J.support
def QuotientSpace.support (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat := ↧↑J.support
The support
S(𝒥) = supp (𝒪_X/𝒥) = {z | 𝒥_z ≠ 𝒪_{X,z}}of the quotient sheaf [Hir64, Ch. 0, §1] (thecosupportof the ideal sheaf), as a topological space. -
abbrevdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
abbrev QuotientSpace.fiber (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (z : ↑(QuotientSpace.support X J)) : Type u := ↑(X.presheaf.stalk ↑z) ⧸ QuotientSpace.stalkIdeal X J ↑z
abbrev QuotientSpace.fiber (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (z : ↑(QuotientSpace.support X J)) : Type u := ↑(X.presheaf.stalk ↑z) ⧸ QuotientSpace.stalkIdeal X J ↑z
The fibre
𝒪_{X,z}/𝒥_zof the quotient at a pointzof the support. -
abbrevdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
abbrev QuotientSpace.preimage (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (W : Opens ↑X.toTopCat) : Opens ↑(QuotientSpace.support X J) := (Opens.map (QuotientSpace.ιTop X J)).obj W
abbrev QuotientSpace.preimage (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (W : Opens ↑X.toTopCat) : Opens ↑(QuotientSpace.support X J) := (Opens.map (QuotientSpace.ιTop X J)).obj W
The preimage in the support of an open subset of
X. -
abbrevdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
abbrev QuotientSpace.stalkIdeal (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (z : ↑X.toTopCat) : Ideal ↑(X.presheaf.stalk z) := J.stalkIdeal z
abbrev QuotientSpace.stalkIdeal (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (z : ↑X.toTopCat) : Ideal ↑(X.presheaf.stalk z) := J.stalkIdeal z
The stalk ideal
𝒥_z, as an ideal of the local ring𝒪_{X,z}(the same ideal asJ.stalkIdeal z, typed overX.presheaf.stalk z). -
abbrevdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
abbrev QuotientSpace.prelocalPred (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.PrelocalPredicate (QuotientSpace.fiber X J) := { pred := fun {V} s => ∃ W a, ∀ (z : ↥V), ∃ (hz : ↑↑z ∈ W), s z = (Ideal.Quotient.mk (QuotientSpace.stalkIdeal X J ↑↑z)) ((CategoryTheory.ConcreteCategory.hom (X.presheaf.germ W (↑↑z) hz)) a), res := ⋯ }
abbrev QuotientSpace.prelocalPred (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.PrelocalPredicate (QuotientSpace.fiber X J) := { pred := fun {V} s => ∃ W a, ∀ (z : ↥V), ∃ (hz : ↑↑z ∈ W), s z = (Ideal.Quotient.mk (QuotientSpace.stalkIdeal X J ↑↑z)) ((CategoryTheory.ConcreteCategory.hom (X.presheaf.germ W (↑↑z) hz)) a), res := ⋯ }
The prelocal predicate on families
(s_z)_{z ∈ V}of classes: "sis the family of the classes[a_z]of one ambient sectiona ∈ 𝒪_X(W)". -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.localPred (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.LocalPredicate (QuotientSpace.fiber X J) := (QuotientSpace.prelocalPred X J).sheafify
def QuotientSpace.localPred (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.LocalPredicate (QuotientSpace.fiber X J) := (QuotientSpace.prelocalPred X J).sheafify
The local predicate "compatible germ family": locally the family of classes of one ambient section — the sheafification of
prelocalPred. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.sheafTypes (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.Sheaf (Type u) (QuotientSpace.support X J) := TopCat.subsheafToTypes (QuotientSpace.localPred X J)
def QuotientSpace.sheafTypes (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.Sheaf (Type u) (QuotientSpace.support X J) := TopCat.subsheafToTypes (QuotientSpace.localPred X J)
The sheaf of sets of compatible germ families (
TopCat.subsheafToTypes). -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.instCommRingObjOppositeOpensCarrierSupportPresheafSheafTypes (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (V : (Opens ↑(QuotientSpace.support X J))ᵒᵖ) : CommRing ((QuotientSpace.sheafTypes X J).presheaf.obj V)
def QuotientSpace.instCommRingObjOppositeOpensCarrierSupportPresheafSheafTypes (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (V : (Opens ↑(QuotientSpace.support X J))ᵒᵖ) : CommRing ((QuotientSpace.sheafTypes X J).presheaf.obj V)
-
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.sectionsSubring (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (V : Opens ↑(QuotientSpace.support X J)) : Subring ((z : ↥V) → QuotientSpace.fiber X J ↑z) := { carrier := {s | (QuotientSpace.localPred X J).pred s}, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, neg_mem' := ⋯ }
def QuotientSpace.sectionsSubring (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (V : Opens ↑(QuotientSpace.support X J)) : Subring ((z : ↥V) → QuotientSpace.fiber X J ↑z) := { carrier := {s | (QuotientSpace.localPred X J).pred s}, mul_mem' := ⋯, one_mem' := ⋯, add_mem' := ⋯, zero_mem' := ⋯, neg_mem' := ⋯ }
The compatible germ families over
Vform a subring of the product of the fibres. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.presheafCommRing (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.Presheaf CommRingCat (QuotientSpace.support X J) := { obj := fun V => ↧((QuotientSpace.sheafTypes X J).presheaf.obj V), map := fun {x x_1} i => CommRingCat.ofHom { toFun := ⇑(CategoryTheory.ConcreteCategory.hom ((QuotientSpace.sheafTypes X J).presheaf.map i)), map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }, map_id := ⋯, map_comp := ⋯ }
def QuotientSpace.presheafCommRing (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : TopCat.Presheaf CommRingCat (QuotientSpace.support X J) := { obj := fun V => ↧((QuotientSpace.sheafTypes X J).presheaf.obj V), map := fun {x x_1} i => CommRingCat.ofHom { toFun := ⇑(CategoryTheory.ConcreteCategory.hom ((QuotientSpace.sheafTypes X J).presheaf.map i)), map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }, map_id := ⋯, map_comp := ⋯ }
The presheaf of commutative rings of compatible germ families (pointwise operations).
-
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.classFamily (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (W : Opens ↑X.toTopCat) (a : ↑(X.presheaf.obj (Opposite.op W))) : ↑((QuotientSpace.presheafCommRing X J).obj (Opposite.op (QuotientSpace.preimage X J W))) := ⟨fun z => (Ideal.Quotient.mk (QuotientSpace.stalkIdeal X J ↑↑z)) ((CategoryTheory.ConcreteCategory.hom (X.presheaf.germ W ↑↑z ⋯)) a), ⋯⟩
def QuotientSpace.classFamily (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (W : Opens ↑X.toTopCat) (a : ↑(X.presheaf.obj (Opposite.op W))) : ↑((QuotientSpace.presheafCommRing X J).obj (Opposite.op (QuotientSpace.preimage X J W))) := ⟨fun z => (Ideal.Quotient.mk (QuotientSpace.stalkIdeal X J ↑↑z)) ((CategoryTheory.ConcreteCategory.hom (X.presheaf.germ W ↑↑z ⋯)) a), ⋯⟩
The family of the classes
[a_z]of an ambient sectiona ∈ 𝒪_X(W), a section of the quotient sheaf over the preimage ofW. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.classHom (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (W : Opens ↑X.toTopCat) : X.presheaf.obj (Opposite.op W) ⟶ (QuotientSpace.presheafCommRing X J).obj (Opposite.op (QuotientSpace.preimage X J W)) := CommRingCat.ofHom { toFun := QuotientSpace.classFamily X J W, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
def QuotientSpace.classHom (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) (W : Opens ↑X.toTopCat) : X.presheaf.obj (Opposite.op W) ⟶ (QuotientSpace.presheafCommRing X J).obj (Opposite.op (QuotientSpace.preimage X J W)) := CommRingCat.ofHom { toFun := QuotientSpace.classFamily X J W, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯ }
a ↦ ([a_z])_zas a morphism of rings𝒪_X(W) ⟶ 𝒪_Z(ι⁻¹ W). -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.ιTop (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : QuotientSpace.support X J ⟶ X.toTopCat := TopCat.ofHom { toFun := Subtype.val, continuous_toFun := ⋯ }
def QuotientSpace.ιTop (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : QuotientSpace.support X J ⟶ X.toTopCat := TopCat.ofHom { toFun := Subtype.val, continuous_toFun := ⋯ }
The inclusion of the support into
X. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.ιHom (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : (QuotientSpace.quotientSpace X J).toPresheafedSpace ⟶ X.toPresheafedSpace := { base := QuotientSpace.ιTop X J, c := { app := fun W => QuotientSpace.classHom X J (Opposite.unop W), naturality := ⋯ } }
def QuotientSpace.ιHom (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : (QuotientSpace.quotientSpace X J).toPresheafedSpace ⟶ X.toPresheafedSpace := { base := QuotientSpace.ιTop X J, c := { app := fun W => QuotientSpace.classHom X J (Opposite.unop W), naturality := ⋯ } }
The canonical morphism of presheafed spaces
(S(𝒥), 𝒪_X/𝒥) ⟶ X: the inclusion of the support witha ↦ ([a_z])_zon sections. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.quotientSpace (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : AlgebraicGeometry.LocallyRingedSpace := { carrier := QuotientSpace.support X J, presheaf := QuotientSpace.presheafCommRing X J, IsSheaf := ⋯, isLocalRing := ⋯ }
def QuotientSpace.quotientSpace (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : AlgebraicGeometry.LocallyRingedSpace := { carrier := QuotientSpace.support X J, presheaf := QuotientSpace.presheafCommRing X J, IsSheaf := ⋯, isLocalRing := ⋯ }
The locally ringed space
(S(𝒥), (𝒪_X/𝒥)|_{S(𝒥)})[Hir64, Ch. 0, §1], [BM97, §3]. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def QuotientSpace.ι (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : QuotientSpace.quotientSpace X J ⟶ X := { toHom := QuotientSpace.ιHom X J, prop := ⋯ }
def QuotientSpace.ι (X : AlgebraicGeometry.LocallyRingedSpace) (J : Manifold.IdealSheaf X.𝒪) : QuotientSpace.quotientSpace X J ⟶ X := { toHom := QuotientSpace.ιHom X J, prop := ⋯ }
The canonical morphism of locally ringed spaces
(S(𝒥), 𝒪_X/𝒥) ⟶ X, the closed embedding of the subspace; its stalk maps are the quotient maps. -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def KLocallyRingedSpace.quotient {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (J : Manifold.IdealSheaf X.𝒪) : KLocallyRingedSpace K := let __LocallyRingedSpace := QuotientSpace.quotientSpace X.toLocallyRingedSpace J; { toLocallyRingedSpace := __LocallyRingedSpace, algebraMap := (CommRingCat.Hom.hom (AlgebraicGeometry.LocallyRingedSpace.Γ.map (QuotientSpace.ι X.toLocallyRingedSpace J).op)).comp X.algebraMap }
def KLocallyRingedSpace.quotient {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (J : Manifold.IdealSheaf X.𝒪) : KLocallyRingedSpace K := let __LocallyRingedSpace := QuotientSpace.quotientSpace X.toLocallyRingedSpace J; { toLocallyRingedSpace := __LocallyRingedSpace, algebraMap := (CommRingCat.Hom.hom (AlgebraicGeometry.LocallyRingedSpace.Γ.map (QuotientSpace.ι X.toLocallyRingedSpace J).op)).comp X.algebraMap }
The quotient of a
K-local-ringed space by an ideal sheaf, with theK-structure induced along the canonical morphism. The closed subspaces of an analyticK-space are these (closedSubspace). -
defdefined in Hironaka/AnalyticSpace/Quotient/Defs.leancomplete
def KLocallyRingedSpace.quotientι {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (J : Manifold.IdealSheaf X.𝒪) : X.quotient J ⟶ X := ⟨QuotientSpace.ι X.toLocallyRingedSpace J, ⋯⟩
def KLocallyRingedSpace.quotientι {K : Type} [RCLike K] (X : KLocallyRingedSpace K) (J : Manifold.IdealSheaf X.𝒪) : X.quotient J ⟶ X := ⟨QuotientSpace.ι X.toLocallyRingedSpace J, ⋯⟩
The canonical morphism of the quotient as a
K-morphism.
3.3.3. Analytic spaces and their morphisms
-
AnalyticSpace[complete] -
toKLocallyRingedSpace[complete] -
Hom[complete] -
instCategory[complete] -
Hom.toFun[complete] -
instCoeSortType[complete] -
instCoeFunHomForallCarrierCarrierCommRingCat[complete] -
IsReduced[complete] -
regularLocus[complete] -
singularLocus[complete] -
IsNonsingular[complete]
An analytic K-space (AnalyticSpace K) is a K-local-ringed space
(toKLocallyRingedSpace) every point of which has a neighbourhood K-isomorphic to an open
subspace of a local model, and which is Hausdorff and countable at infinity (Kollár's "separable").
The analytic spaces form the full subcategory An/K (instCategory): a morphism f : X ⟶ Y
is a K-morphism of the underlying K-local-ringed spaces (Hom, a named type so that dot
notation works on morphisms), and composition is the category's ≫, in diagrammatic order. A space
has a type of points (the coercion instCoeSortType), a morphism has an underlying map
(Hom.toFun, the coercion ⇑f given by the instance instCoeFunHom…), and an isomorphism
of analytic spaces is an isomorphism in An/K (IsIso f). A space is reduced
(IsReduced) if every stalk is reduced. Its simple points (regularLocus) are those
whose local ring is regular, the singular locus (singularLocus) is their complement, and
X is non-singular (IsNonsingular) if every point is simple.
Lean code for Definition3.3.3.1●11 definitions
Associated Lean declarations
-
AnalyticSpace[complete]
-
toKLocallyRingedSpace[complete]
-
Hom[complete]
-
instCategory[complete]
-
Hom.toFun[complete]
-
instCoeSortType[complete]
-
instCoeFunHomForallCarrierCarrierCommRingCat[complete]
-
IsReduced[complete]
-
regularLocus[complete]
-
singularLocus[complete]
-
IsNonsingular[complete]
-
AnalyticSpace[complete] -
toKLocallyRingedSpace[complete] -
Hom[complete] -
instCategory[complete] -
Hom.toFun[complete] -
instCoeSortType[complete] -
instCoeFunHomForallCarrierCarrierCommRingCat[complete] -
IsReduced[complete] -
regularLocus[complete] -
singularLocus[complete] -
IsNonsingular[complete]
-
structuredefined in Hironaka/AnalyticSpace/Defs.leancomplete
structure AnalyticSpace (K : Type) [RCLike K] : Type (u + 1)
structure AnalyticSpace (K : Type) [RCLike K] : Type (u + 1)
An analytic
K-space [Hir64, Ch. 0, §1, p. 120]: aK-local-ringed space that is locallyK-isomorphic to an open subspace of a local analyticK-space, countable at infinity and Hausdorff.Extends
Fields
carrier : TopCat
Inherited from-
AnalyticSpace.KLocallyRingedSpace -
AlgebraicGeometry.LocallyRingedSpace -
AlgebraicGeometry.SheafedSpace -
AlgebraicGeometry.PresheafedSpace
presheaf : TopCat.Presheaf CommRingCat ↑self.toPresheafedSpace
Inherited from-
AnalyticSpace.KLocallyRingedSpace -
AlgebraicGeometry.LocallyRingedSpace -
AlgebraicGeometry.SheafedSpace -
AlgebraicGeometry.PresheafedSpace
IsSheaf : self.presheaf.IsSheaf
Inherited from-
AnalyticSpace.KLocallyRingedSpace -
AlgebraicGeometry.LocallyRingedSpace -
AlgebraicGeometry.SheafedSpace
isLocalRing : ∀ (x : ↑↑self.toPresheafedSpace), IsLocalRing ↑(self.presheaf.stalk x)
Inherited from-
AnalyticSpace.KLocallyRingedSpace -
AlgebraicGeometry.LocallyRingedSpace
algebraMap : K →+* ↑(AlgebraicGeometry.LocallyRingedSpace.Γ.obj (Opposite.op self.toLocallyRingedSpace))
Inherited from-
AnalyticSpace.KLocallyRingedSpace
locallyModel : ∀ (x : ↑self.toTopCat), ∃ U, ∃ (_ : x ∈ U), ∃ n k G f W, Nonempty ((self.restrictOpen U).KIso ((localModel K n G f).restrictOpen W))
Hironaka's (i): every point has an open neighbourhood
UwithX|UK-isomorphic to a local analyticK-space (an open subspaceWof(S(𝓘), (𝒜_G/𝓘)|_{S(𝓘)}), see the module docstring).t2 : T2Space ↑self.toTopCat
Hironaka's (iii): the underlying space is Hausdorff.
sigmaCompact : SigmaCompactSpace ↑self.toTopCat
Hironaka's (ii): the underlying space is countable at infinity.
-
-
abbrevdefined in Hironaka/AnalyticSpace/Defs.leancomplete
abbrev toKLocallyRingedSpace {K : Type} [RCLike K] (self : AnalyticSpace K) : KLocallyRingedSpace K := self.1
abbrev toKLocallyRingedSpace {K : Type} [RCLike K] (self : AnalyticSpace K) : KLocallyRingedSpace K := self.1
-
abbrevdefined in Hironaka/AnalyticSpace/Defs.leancomplete
abbrev Hom {K : Type} [RCLike K] (X Y : AnalyticSpace K) : Type u := X.toKLocallyRingedSpace ⟶ Y.toKLocallyRingedSpace
abbrev Hom {K : Type} [RCLike K] (X Y : AnalyticSpace K) : Type u := X.toKLocallyRingedSpace ⟶ Y.toKLocallyRingedSpace
The morphisms of
An/K: theK-morphisms of the underlyingK-local-ringed spaces. A named type, asAlgebraicGeometry.Scheme.Hom, so thatf.restrictSet V,f.IsIsoOver V, … work by dot notation onf : X ⟶ Y. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def instCategory {K : Type} [RCLike K] : CategoryTheory.Category.{u, u + 1} (AnalyticSpace K)
def instCategory {K : Type} [RCLike K] : CategoryTheory.Category.{u, u + 1} (AnalyticSpace K)
An/Kis the full subcategory ofℜ/Kon the analyticK-spaces [Hir64, Ch. 0, §1, p. 121]: the morphisms are theK-morphisms of the underlyingK-local-ringed spaces. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def Hom.toFun {K : Type} [RCLike K] {X Y : AnalyticSpace K} (f : X ⟶ Y) : ↑↑X.toPresheafedSpace → ↑↑Y.toPresheafedSpace := KLocallyRingedSpace.Hom.toFun f
def Hom.toFun {K : Type} [RCLike K] {X Y : AnalyticSpace K} (f : X ⟶ Y) : ↑↑X.toPresheafedSpace → ↑↑Y.toPresheafedSpace := KLocallyRingedSpace.Hom.toFun f
The underlying continuous map of a morphism of analytic
K-spaces, the coercion⇑f: the mapKLocallyRingedSpace.Hom.toFunof the underlyingK-morphism. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def instCoeSortType {K : Type} [RCLike K] : CoeSort (AnalyticSpace K) (Type u)
def instCoeSortType {K : Type} [RCLike K] : CoeSort (AnalyticSpace K) (Type u)
-
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def instCoeFunHomForallCarrierCarrierCommRingCat {K : Type} [RCLike K] {X Y : AnalyticSpace K} : CoeFun (X ⟶ Y) fun x => ↑↑X.toPresheafedSpace → ↑↑Y.toPresheafedSpace
def instCoeFunHomForallCarrierCarrierCommRingCat {K : Type} [RCLike K] {X Y : AnalyticSpace K} : CoeFun (X ⟶ Y) fun x => ↑↑X.toPresheafedSpace → ↑↑Y.toPresheafedSpace
-
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def IsReduced {K : Type} [RCLike K] (X : AnalyticSpace K) : Prop := ∀ (x : ↑↑X.toPresheafedSpace), _root_.IsReduced ↑(X.presheaf.stalk x)
def IsReduced {K : Type} [RCLike K] (X : AnalyticSpace K) : Prop := ∀ (x : ↑↑X.toPresheafedSpace), _root_.IsReduced ↑(X.presheaf.stalk x)
Xis reduced when its structure sheaf has no nilpotent elements [Hir64, Introduction]: every stalk is reduced. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def regularLocus {K : Type} [RCLike K] (X : AnalyticSpace K) : Set ↑↑X.toPresheafedSpace := {x | IsRegularLocalRing ↑(X.presheaf.stalk x)}
def regularLocus {K : Type} [RCLike K] (X : AnalyticSpace K) : Set ↑↑X.toPresheafedSpace := {x | IsRegularLocalRing ↑(X.presheaf.stalk x)}
The simple points of
X: those whose local ring𝒪_{X,x}is a regular local ring. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def singularLocus {K : Type} [RCLike K] (X : AnalyticSpace K) : Set ↑↑X.toPresheafedSpace := X.regularLocusᶜ
def singularLocus {K : Type} [RCLike K] (X : AnalyticSpace K) : Set ↑↑X.toPresheafedSpace := X.regularLocusᶜ
The multiple points: the complement of
regularLocus X. -
defdefined in Hironaka/AnalyticSpace/Defs.leancomplete
def IsNonsingular {K : Type} [RCLike K] (X : AnalyticSpace K) : Prop := X.regularLocus = univ
def IsNonsingular {K : Type} [RCLike K] (X : AnalyticSpace K) : Prop := X.regularLocus = univ
Xis non-singular: every point is simple [Hir64, Ch. 0, §1, p. 121].
-
openOf[complete] -
restrictOpen[complete] -
restrictSet[complete] -
Hom.restrictSet[complete] -
Hom.IsIsoOver[complete]
An open subspace of an analytic space is an analytic space (restrictOpen). The statements
restrict along arbitrary sets: restrictSet X U is X|_U when U is open and X itself
otherwise (through openOf), which keeps restriction of morphisms total. The restriction
f|_{f^{-1}(V)} \colon X|_{f^{-1}(V)} \to Y|_V of a morphism (Hom.restrictSet) is the lift
of f through the open immersion of Y|_V, possible because f maps f^{-1}(V) into V
(range_toFun_ofRestrict_comp_subset). f.IsIsoOver V, "f restricts to an isomorphism
f^{-1}(V) \to V", is IsIso (f.restrictSet V).
Lean code for Definition3.3.3.2●5 definitions
Associated Lean declarations
-
openOf[complete]
-
restrictOpen[complete]
-
restrictSet[complete]
-
Hom.restrictSet[complete]
-
Hom.IsIsoOver[complete]
-
openOf[complete] -
restrictOpen[complete] -
restrictSet[complete] -
Hom.restrictSet[complete] -
Hom.IsIsoOver[complete]
-
defdefined in Hironaka/AnalyticSpace/Restrict/Defs.leancomplete
def openOf {K : Type} [RCLike K] (X : AnalyticSpace K) (U : Set ↑↑X.toPresheafedSpace) : Opens ↑↑X.toPresheafedSpace := if h : IsOpen U then { carrier := U, is_open' := h } else ⊤
def openOf {K : Type} [RCLike K] (X : AnalyticSpace K) (U : Set ↑↑X.toPresheafedSpace) : Opens ↑↑X.toPresheafedSpace := if h : IsOpen U then { carrier := U, is_open' := h } else ⊤
The open set to which
restrictSetrestricts:Uitself when it is open, the whole space otherwise (restrictSet X Uaccepts any setU). -
defdefined in Hironaka/AnalyticSpace/Restrict/Defs.leancomplete
def restrictOpen {K : Type} [RCLike K] (X : AnalyticSpace K) (V : Opens ↑↑X.toPresheafedSpace) : AnalyticSpace K := let __KLocallyRingedSpace := X.restrictOpen V; { toKLocallyRingedSpace := __KLocallyRingedSpace, locallyModel := ⋯, t2 := ⋯, sigmaCompact := ⋯ }
def restrictOpen {K : Type} [RCLike K] (X : AnalyticSpace K) (V : Opens ↑↑X.toPresheafedSpace) : AnalyticSpace K := let __KLocallyRingedSpace := X.restrictOpen V; { toKLocallyRingedSpace := __KLocallyRingedSpace, locallyModel := ⋯, t2 := ⋯, sigmaCompact := ⋯ }
The open subspace
X | Vof an analyticK-space is an analyticK-space [Hir64, Ch. 0, §1, p. 120]. -
defdefined in Hironaka/AnalyticSpace/Restrict/Defs.leancomplete
def restrictSet {K : Type} [RCLike K] (X : AnalyticSpace K) (U : Set ↑↑X.toPresheafedSpace) : AnalyticSpace K := X.restrictOpen (X.openOf U)
def restrictSet {K : Type} [RCLike K] (X : AnalyticSpace K) (U : Set ↑↑X.toPresheafedSpace) : AnalyticSpace K := X.restrictOpen (X.openOf U)
X | Ufor an openU[Hir64, Ch. 0, §1, p. 120],Xitself (restricted along⊤) for a non-openU. -
defdefined in Hironaka/AnalyticSpace/Restrict/Defs.leancomplete
def Hom.restrictSet {K : Type} [RCLike K] {X Y : AnalyticSpace K} (f : X ⟶ Y) (V : Set ↑↑Y.toPresheafedSpace) : X.restrictSet (↑f ⁻¹' V) ⟶ Y.restrictSet V := have h₁ := ⋯; KLocallyRingedSpace.Hom.ofFac (X.ofRestrict (X.openOf (KLocallyRingedSpace.Hom.toFun f ⁻¹' V)) ≫ f) (Y.ofRestrict (Y.openOf V)) (AlgebraicGeometry.LocallyRingedSpace.IsOpenImmersion.lift ↑(Y.ofRestrict (Y.openOf V)) ↑(X.ofRestrict (X.openOf (KLocallyRingedSpace.Hom.toFun f ⁻¹' V)) ≫ f) ⋯) ⋯
def Hom.restrictSet {K : Type} [RCLike K] {X Y : AnalyticSpace K} (f : X ⟶ Y) (V : Set ↑↑Y.toPresheafedSpace) : X.restrictSet (↑f ⁻¹' V) ⟶ Y.restrictSet V := have h₁ := ⋯; KLocallyRingedSpace.Hom.ofFac (X.ofRestrict (X.openOf (KLocallyRingedSpace.Hom.toFun f ⁻¹' V)) ≫ f) (Y.ofRestrict (Y.openOf V)) (AlgebraicGeometry.LocallyRingedSpace.IsOpenImmersion.lift ↑(Y.ofRestrict (Y.openOf V)) ↑(X.ofRestrict (X.openOf (KLocallyRingedSpace.Hom.toFun f ⁻¹' V)) ≫ f) ⋯) ⋯
The restriction
f | f⁻¹V : X | f⁻¹V ⟶ Y | Vof a morphism to an open subsetVof the target, the lift offthrough the open immersionY | V ⟶ Y(total inVby the conventionopenOf). Its source is written with the coercion⇑f, as in the morphism types of the resolution theorem. -
defdefined in Hironaka/AnalyticSpace/Restrict/Defs.leancomplete
def Hom.IsIsoOver {K : Type} [RCLike K] {X Y : AnalyticSpace K} (f : Y ⟶ X) (U : Set ↑↑X.toPresheafedSpace) : Prop := CategoryTheory.IsIso (Hom.restrictSet f U)
def Hom.IsIsoOver {K : Type} [RCLike K] {X Y : AnalyticSpace K} (f : Y ⟶ X) (U : Set ↑↑X.toPresheafedSpace) : Prop := CategoryTheory.IsIso (Hom.restrictSet f U)
frestricts to an isomorphismf⁻¹(U) → Uover the open setU(clause (2) of the resolution problem of [Hir64, Introduction] and of [Kol07, Theorem 45]).
-
ClosedSubspace[complete] -
ClosedSubspace.IsSncBoundaryWith[complete] -
ClosedSubspace.IsSncBoundary[complete] -
closedSubspace[complete] -
closedSubspaceι[complete]
A closed analytic subspace of X (AnalyticSpace.ClosedSubspace X) is given by its ideal sheaf of
finite type, a Manifold.IdealSheaf of the structure sheaf, with support
S(\mathcal{I}) = \{x : \mathcal{I}_x \ne \mathcal{O}_{X,x}\}
(support, Definition 3.1.3.1). The quotient by
it is again an analytic space (AnalyticSpace.closedSubspace, by quotient_locallyModel),
with its canonical morphism into X (closedSubspaceι).
E.IsSncBoundaryWith D is Kollár's Definition 24 on an analytic space, at the level of stalks and
on global components: there is a locally finite family of closed subspaces such that at every
point some regular system of parameters cuts out each component through the point by one member,
distinct components by distinct members, E by the product of those members, and, at points of
D, D by some of the members. E.IsSncBoundary is the case D = X: E is the reduced
divisor of a simple normal crossings family.
Lean code for Definition3.3.3.3●5 definitions
Associated Lean declarations
-
ClosedSubspace[complete]
-
ClosedSubspace.IsSncBoundaryWith[complete]
-
ClosedSubspace.IsSncBoundary[complete]
-
closedSubspace[complete]
-
closedSubspaceι[complete]
-
ClosedSubspace[complete] -
ClosedSubspace.IsSncBoundaryWith[complete] -
ClosedSubspace.IsSncBoundary[complete] -
closedSubspace[complete] -
closedSubspaceι[complete]
-
abbrevdefined in Hironaka/AnalyticSpace/ClosedSubspace/Defs.leancomplete
abbrev ClosedSubspace {K : Type} [RCLike K] (X : AnalyticSpace K) : Type u := Manifold.IdealSheaf X.𝒪
abbrev ClosedSubspace {K : Type} [RCLike K] (X : AnalyticSpace K) : Type u := Manifold.IdealSheaf X.𝒪
A closed analytic subspace of the analytic
K-spaceX[Hir64, Ch. 0, §1], [BM97, §3], given by its ideal sheaf of finite type: anIdealSheafon the locally ringed spaceX. The subspace's ideal sheaf𝓘_Yis the subspace itself. -
defdefined in Hironaka/AnalyticSpace/ClosedSubspace/Defs.leancomplete
def ClosedSubspace.IsSncBoundaryWith {K : Type} [RCLike K] {X : AnalyticSpace K} (E D : X.ClosedSubspace) : Prop := ∃ ι H, (LocallyFinite fun j => IdealSheaf.support (H j)) ∧ ∀ (x : ↑↑X.toPresheafedSpace), ∃ n z, (Ideal.span (range z) = IsLocalRing.maximalIdeal ↑(X.presheaf.stalk x) ∧ ↑n = ringKrullDim ↑(X.presheaf.stalk x)) ∧ ∃ c s, Function.Injective c ∧ range c = ↑s ∧ ∀ (j : { j // x ∈ IdealSheaf.support (H j) }), IdealSheaf.stalkIdeal (H ↑j) x = Ideal.span {z (c j)} ∧ IdealSheaf.stalkIdeal E x = Ideal.span {∏ i ∈ s, z i} ∧ (x ∈ IdealSheaf.support D → ∃ t, IdealSheaf.stalkIdeal D x = Ideal.span (z '' ↑t))
def ClosedSubspace.IsSncBoundaryWith {K : Type} [RCLike K] {X : AnalyticSpace K} (E D : X.ClosedSubspace) : Prop := ∃ ι H, (LocallyFinite fun j => IdealSheaf.support (H j)) ∧ ∀ (x : ↑↑X.toPresheafedSpace), ∃ n z, (Ideal.span (range z) = IsLocalRing.maximalIdeal ↑(X.presheaf.stalk x) ∧ ↑n = ringKrullDim ↑(X.presheaf.stalk x)) ∧ ∃ c s, Function.Injective c ∧ range c = ↑s ∧ ∀ (j : { j // x ∈ IdealSheaf.support (H j) }), IdealSheaf.stalkIdeal (H ↑j) x = Ideal.span {z (c j)} ∧ IdealSheaf.stalkIdeal E x = Ideal.span {∏ i ∈ s, z i} ∧ (x ∈ IdealSheaf.support D → ∃ t, IdealSheaf.stalkIdeal D x = Ideal.span (z '' ↑t))
Kollár's Definition 24 [Kol07, Definition 24] on an analytic space, at the stalk level, on GLOBAL components:
Eis the reduced divisor of a simple normal crossings family having simple normal crossings withD— there is a locally finite familyHof closed subspaces ofX(the componentsE^j) such that at every pointxsome regular system of parameters(z_1, …, z_n)of𝒪_{X,x}(ngenerators of the maximal ideal,nthe Krull dimension) cuts out each component throughxby one member (so each component is a smooth hypersurface), distinct components by distinct members,Eby the product of those members (clauses (1)–(3) of the definition), and, whenx ∈ D,Dby some of the members (clause (4):Z = (z_{j_1} = ⋯ = z_{j_s} = 0); "some of theE^iare allowed to containZ"). This is Hironaka's "Ehas only normal crossings withD" [Hir64, Ch. 0, §5, Definition 2] read on his GLOBAL irreducible components, whereHasOnlyNormalCrossingsWithreads the local branches (the minimal primes of the stalk; the two differ on the real nodal cubic). The same notion on a manifold isAnalyticManifold.IdealSheaf.IsSncBoundaryWith. Like it, and unlike the scheme predicate of the same name (AlgebraicGeometry.Scheme.IdealSheafData.IsSncBoundaryWith, a condition at the points ofDonly), it asserts simple normal crossings ofEat every point ofXand impliesIsSncBoundary E. -
defdefined in Hironaka/AnalyticSpace/ClosedSubspace/Defs.leancomplete
def ClosedSubspace.IsSncBoundary {K : Type} [RCLike K] {X : AnalyticSpace K} (E : X.ClosedSubspace) : Prop := E.IsSncBoundaryWith ⊥
def ClosedSubspace.IsSncBoundary {K : Type} [RCLike K] {X : AnalyticSpace K} (E : X.ClosedSubspace) : Prop := E.IsSncBoundaryWith ⊥
Kollár's Definition 24 with
D = X[Kol07, Definition 24]:Eis the reduced divisor of a simple normal crossings family —IsSncBoundaryWith E ⊥, the zero ideal sheaf⊥being the ideal ofXitself (as inHasOnlyNormalCrossings). Hironaka's "Ehas only normal crossings" [Hir64, Ch. 0, §5, Definition 2] on his global components. This is the boundary predicate of the resolution theoremAnalyticSpace.exists_functorial_resolution; the same notion on a manifold isAnalyticManifold.IdealSheaf.IsSncBoundary. -
defdefined in Hironaka/AnalyticSpace/ClosedSubspace/Defs.leancomplete
def closedSubspace {K : Type} [RCLike K] (X : AnalyticSpace K) (J : Manifold.IdealSheaf X.𝒪) : AnalyticSpace K := let __KLocallyRingedSpace := X.quotient J; { toKLocallyRingedSpace := __KLocallyRingedSpace, locallyModel := ⋯, t2 := ⋯, sigmaCompact := ⋯ }
def closedSubspace {K : Type} [RCLike K] (X : AnalyticSpace K) (J : Manifold.IdealSheaf X.𝒪) : AnalyticSpace K := let __KLocallyRingedSpace := X.quotient J; { toKLocallyRingedSpace := __KLocallyRingedSpace, locallyModel := ⋯, t2 := ⋯, sigmaCompact := ⋯ }
The closed analytic subspace defined by a finite-type ideal sheaf on an analytic
K-space, as an analyticK-space [Hir64, Ch. 0, §1], [BM97, §3]: the quotient(S(𝓘), (𝒪_X/𝓘)|_{S(𝓘)})with Hironaka's clauses (i)–(iii). -
defdefined in Hironaka/AnalyticSpace/ClosedSubspace/Defs.leancomplete
def closedSubspaceι {K : Type} [RCLike K] (X : AnalyticSpace K) (J : Manifold.IdealSheaf X.𝒪) : X.closedSubspace J ⟶ X := X.quotientι J
def closedSubspaceι {K : Type} [RCLike K] (X : AnalyticSpace K) (J : Manifold.IdealSheaf X.𝒪) : X.closedSubspace J ⟶ X := X.quotientι J
The canonical morphism of the closed subspace into
X, aK-morphism of analyticK-spaces: the quotient'squotientι.
3.3.4. Resolution assignments
-
HasUnderlyingSpace[complete] -
hasUnderlyingSpaceSelf[complete] -
FullSubcategory.hasUnderlyingSpace[complete] -
ResolutionAssignment[complete] -
ResolutionAssignment.space[complete] -
ResolutionAssignment.map[complete]
A type C of inputs has underlying spaces (HasUnderlyingSpace) when every input has an
underlying K-analytic space: the spaces themselves, and the full subcategories of the spaces of
a class. A ResolutionAssignment C assigns to every input X a space R(X) (space) and
a morphism \Pi_X \colon R(X) \to X (map) to its underlying space: Kollár's resolution
functor R \colon X \mapsto (\Pi_X \colon R(X) \to X). It carries no conditions; the properties
that the resolution of analytic spaces asserts of it are stated with that theorem
(Theorem 4.3.5.5), whose inputs are the reduced spaces; the constructions behind it produce
assignments on all spaces.
Lean code for Definition3.3.4.1●6 definitions
Associated Lean declarations
-
HasUnderlyingSpace[complete]
-
hasUnderlyingSpaceSelf[complete]
-
FullSubcategory.hasUnderlyingSpace[complete]
-
ResolutionAssignment[complete]
-
ResolutionAssignment.space[complete]
-
ResolutionAssignment.map[complete]
-
HasUnderlyingSpace[complete] -
hasUnderlyingSpaceSelf[complete] -
FullSubcategory.hasUnderlyingSpace[complete] -
ResolutionAssignment[complete] -
ResolutionAssignment.space[complete] -
ResolutionAssignment.map[complete]
-
classdefined in Hironaka/AnalyticSpace/Resolution/Defs.leancomplete
A type
Cof inputs each with an underlyingK-analytic space (the analogue ofHasUnderlyingSchemefor the algebraic inputs): theK-analytic spaces themselves, and the full subcategories of the spaces of a class.Methods
toAnalyticSpace : C → AnalyticSpace K
The underlying analytic space of an input.
-
defdefined in Hironaka/AnalyticSpace/Resolution/Defs.leancomplete
def hasUnderlyingSpaceSelf {K : Type} [RCLike K] : HasUnderlyingSpace (AnalyticSpace K) K
def hasUnderlyingSpaceSelf {K : Type} [RCLike K] : HasUnderlyingSpace (AnalyticSpace K) K
Every
K-analytic space is an input. -
defdefined in Hironaka/AnalyticSpace/Resolution/Defs.leancomplete
def FullSubcategory.hasUnderlyingSpace {K : Type} [RCLike K] {C : Type w} [CategoryTheory.Category.{u_1, w} C] [HasUnderlyingSpace C K] (P : CategoryTheory.ObjectProperty C) : HasUnderlyingSpace P.FullSubcategory K
def FullSubcategory.hasUnderlyingSpace {K : Type} [RCLike K] {C : Type w} [CategoryTheory.Category.{u_1, w} C] [HasUnderlyingSpace C K] (P : CategoryTheory.ObjectProperty C) : HasUnderlyingSpace P.FullSubcategory K
The objects of a full subcategory of inputs are inputs.
-
structuredefined in Hironaka/AnalyticSpace/Resolution/Defs.leancomplete
structure ResolutionAssignment {K : Type} [RCLike K] (C : Type w) [HasUnderlyingSpace C K] : Type (max w (u + 1))
structure ResolutionAssignment {K : Type} [RCLike K] (C : Type w) [HasUnderlyingSpace C K] : Type (max w (u + 1))
A resolution assignment on the inputs
C: aK-analytic spaceR(X)and a morphismΠ_X : R(X) → Xto the underlying space of every inputX— Kollár's "resolution functorR : X ↦ (Π_X : R(X) → X)" [Kol07, Theorem 45] stripped of its properties, which are the clauses ofexists_functorial_resolution. The theorem's inputs are the reduced spaces (ReducedSpace); the constructions behind it produce assignments on all spaces (ResolutionAssignment (AnalyticSpace K)).Fields
space : C → AnalyticSpace K
The resolving space
R(X).map : (X : C) → self.space X ⟶ toAnalyticSpace X
The resolution morphism
Π_X : R(X) → X. -
abbrevdefined in Hironaka/AnalyticSpace/Resolution/Defs.leancomplete
abbrev ResolutionAssignment.space {K : Type} [RCLike K] {C : Type w} [HasUnderlyingSpace C K] (self : ResolutionAssignment C) : C → AnalyticSpace K := self.1
abbrev ResolutionAssignment.space {K : Type} [RCLike K] {C : Type w} [HasUnderlyingSpace C K] (self : ResolutionAssignment C) : C → AnalyticSpace K := self.1
The resolving space
R(X). -
abbrevdefined in Hironaka/AnalyticSpace/Resolution/Defs.leancomplete
abbrev ResolutionAssignment.map {K : Type} [RCLike K] {C : Type w} [HasUnderlyingSpace C K] (self : ResolutionAssignment C) (X : C) : self.space X ⟶ toAnalyticSpace X := self.2
abbrev ResolutionAssignment.map {K : Type} [RCLike K] {C : Type w} [HasUnderlyingSpace C K] (self : ResolutionAssignment C) (X : C) : self.space X ⟶ toAnalyticSpace X := self.2
The resolution morphism
Π_X : R(X) → X.