10.154 Filtered colimits of… to 10.168 Colimits and maps of…
Section10.154 Filtered colimits of étale ring maps#
Section 10.154 of the Stacks Project, Tag 0BSG. 7 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0BSH, a lemma
Tag 0BSH in the Stacks Project.
filteredColimitEtale_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Basic.lean, line 635.
Stacks 0BSH. Let
AandR'be commutativeR-algebras, equivalently ring mapsR → AandR → R'. IfAis a filtered colimit of étaleR-algebras, thenR' ⊗[R] A, regarded as anR'-algebra via the canonical mapR' → R' ⊗[R] A, is a filtered colimit of étaleR'-algebras. HereTensorProduct R R' AisR' ⊗[R] Awith its canonicalR'-algebra structure.
theorem filteredColimitEtale_baseChange
{R : Type u} [CommRing R] {A : Type u} [CommRing A] [Algebra R A]
{R' : Type u} [CommRing R'] [Algebra R R']
(hA : IsFilteredColimitOfEtale R A) :
IsFilteredColimitOfEtale R' (TensorProduct R R' A)
CommAlgCat.ind_etale_of_isPushout, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Basic.lean, line 1323. The attribute's comment: “"Λ is a filtered colimit of étale R-algebras" is (CommAlgCat.etale R).ind.{u} (CommAlgCat.of R Λ), as in Lemma 04GN, and the source's S ⊗_R R' is an abstract Algebra.IsPushout R S R' S' rather than a model of the tensor product. Tagged jointly with filteredColimitEtale_baseChange, which is this lemma for the predicate IsFilteredColimitOfEtale and the model TensorProduct R R' A. See the module docstring.”.
An ind-étale algebra stays ind-étale after cobase change. Let
R → SandR → R'be ring maps and letS'be a pushout ofSandR'overR, that is,S' = S ⊗[R] R'. IfR'is a filtered colimit of étaleR-algebras, thenS'is a filtered colimit of étaleS-algebras.
theorem ind_etale_of_isPushout (R S R' S' : Type u) [CommRing R] [CommRing S]
[CommRing R'] [CommRing S'] [Algebra R S] [Algebra R R'] [Algebra R S'] [Algebra S S']
[Algebra R' S'] [IsScalarTower R S S'] [IsScalarTower R R' S']
[Algebra.IsPushout R S R' S']
(h : (CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R R')) :
(CommAlgCat.etale.{u} S).ind.{u} (CommAlgCat.of S S')
Tag 0BSJ, a lemma
Tag 0BSJ in the Stacks Project.
isFilteredColimitOfEtaleUnder_of_isColimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Basic.lean, line 407.
Stacks 0BSJ. Let
Rbe a commutative ring, letJbe a small filtered category and letG : J ⥤ Under (CommRingCat.of R)be a diagram ofR-algebras with colimit coconecAand apex isomorphic toA. If everyG.obj jis a filtered colimit of étaleR-algebras, then so isA.
theorem isFilteredColimitOfEtaleUnder_of_isColimit (R : Type) [CommRing R]
(A : Under (CommRingCat.of R))
(J : Type) [SmallCategory J] [IsFiltered J]
(G : J ⥤ Under (CommRingCat.of R))
(cA : Limits.Cocone G) (hcA : Limits.IsColimit cA) (hA : cA.pt ≅ A)
(hEach : ∀ j, IsFilteredColimitOfEtaleUnder R (G.obj j)) :
IsFilteredColimitOfEtaleUnder R A
Tag 0GIM, a lemma
Tag 0GIM in the Stacks Project.
isFilteredColimitOfEtale_colim, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Colimit.lean, line 980.
Stacks Tag 0GIM, Lemma 10.154.4.
Let
Ibe a directed set (a nonempty directed preorder). Let𝓡, 𝓐 : I ⥤ CommRingCatbe two functors (the systemsi ↦ R_iandi ↦ A_i) andα : 𝓡 ⟶ 𝓐a natural transformation (the structure mapsR_i → A_i, whose naturality squares are the required commutative squares with the transition maps).Take colimits
R = colimit 𝓡andA = colimit 𝓐; the induced structure mapR → AiscolimMap α. If eachA_i = 𝓐.obj iis a filtered colimit of étaleR_i-algebras (via the structure map(α.app i).hom), thenAis a filtered colimit of étaleR-algebras (via the induced structure map(colimMap α).hom).
theorem isFilteredColimitOfEtale_colim
(I : Type u) [Preorder I] [IsDirected I (· ≤ ·)] [Nonempty I]
(𝓡 𝓐 : I ⥤ CommRingCat.{u}) (α : 𝓡 ⟶ 𝓐)
(hetale : ∀ i, IsFilteredColimitOfEtaleHom (α.app i).hom) :
IsFilteredColimitOfEtaleHom (colimMap α).hom
Tag 08HS, a lemma
Tag 08HS in the Stacks Project.
CommRingCat.ind_etale_of_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Basic.lean, line 754. The attribute's comment: “"Λ is a filtered colimit of étale R-algebras" is ObjectProperty.ind.{u} (fun C : Under R ↦ C.hom.hom.Etale) Λ, as in Lemma 07C3; the source's R-algebra map A → B is a map g together with the composite f ≫ g as the R-algebra structure of B, so the triangle commutes by construction. See the module docstring.”.
A filtered colimit of étale algebras over a filtered colimit of étale algebras. Let
R → A → Bbe ring maps. IfAandBare filtered colimits of étaleR-algebras, thenBis a filtered colimit of étaleA-algebras.
theorem ind_etale_of_comp {R A B : CommRingCat.{u}} (f : R ⟶ A) (g : A ⟶ B)
(hf : ObjectProperty.ind.{u} (fun C : Under R ↦ C.hom.hom.Etale) (Under.mk f))
(hfg : ObjectProperty.ind.{u} (fun C : Under R ↦ C.hom.hom.Etale) (Under.mk (f ≫ g))) :
ObjectProperty.ind.{u} (fun C : Under A ↦ C.hom.hom.Etale) (Under.mk g)
CommAlgCat.ind_etale_of_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Basic.lean, line 1348. The attribute's comment: “"Λ is a filtered colimit of étale R-algebras" is (CommAlgCat.etale R).ind.{u} (CommAlgCat.of R Λ), as in Lemma 04GN, and the source's A → B → C is an IsScalarTower A B C. Tagged jointly with CommRingCat.ind_etale_of_comp, which is this lemma for ring maps and the ObjectProperty.ind spelling on Under R. See the module docstring.”.
A filtered colimit of étale algebras over a filtered colimit of étale algebras. Let
A → B → Cbe ring maps. IfBandCare filtered colimits of étaleA-algebras, thenCis a filtered colimit of étaleB-algebras.
theorem ind_etale_of_comp {A B C : Type u} [CommRing A] [CommRing B] [CommRing C]
[Algebra A B] [Algebra B C] [Algebra A C] [IsScalarTower A B C]
(hB : (CommAlgCat.etale.{u} A).ind.{u} (CommAlgCat.of A B))
(hC : (CommAlgCat.etale.{u} A).ind.{u} (CommAlgCat.of A C)) :
(CommAlgCat.etale.{u} B).ind.{u} (CommAlgCat.of B C)
Tag 08HR, a lemma
Tag 08HR in the Stacks Project.
Stacks.Henselian.EtaleLifting.algHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/EtaleLifting/IndEtale.lean, line 665. The attribute's comment: “the map itself; algHom_spec is its two defining properties and algHom_unique its uniqueness”.
The lift of a residue datum along an ind-étale algebra into a henselian local ring (Stacks Tag 08HR, Lemma 10.154.6). Let
R → Sbe a ring map withShenselian local, letAbe ind-étale overR, letqbe a prime ofAlying overp = R ∩ 𝔪 S, and letτ : κ(q) → κ(S)be aκ(p)-algebra map. This is theR-algebra mapA → Swithq = f⁻¹(𝔪 S)inducingτon residue fields;algHom_specis those two properties andalgHom_uniquesays it is the only such map.
noncomputable def algHom
{R : Type u} {A : Type v} {S : Type w}
[CommRing R] [CommRing A] [CommRing S] [Algebra R A] [Algebra R S]
[HenselianLocalRing S]
(hA : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} A)))
(p : Ideal R) [p.IsPrime]
(hp : p = (maximalIdeal S).comap (algebraMap R S))
(q : Ideal A) [q.IsPrime]
(hpq : p = q.comap (algebraMap R A))
(τ : q.ResidueField →+* ResidueField S)
(hτ : τ.comp (residueFieldMapFib p q hpq) = residueFieldMapBase p hp) :
A →ₐ[R] S
Stacks.Henselian.EtaleLifting.algHom_spec, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/EtaleLifting/IndEtale.lean, line 682. The attribute's comment: “the two defining properties of algHom”.
algHompulls the maximal ideal ofSback toqand inducesτon residue fields.
theorem algHom_spec
{R : Type u} {A : Type v} {S : Type w}
[CommRing R] [CommRing A] [CommRing S] [Algebra R A] [Algebra R S]
[HenselianLocalRing S]
(hA : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} A)))
(p : Ideal R) [p.IsPrime]
(hp : p = (maximalIdeal S).comap (algebraMap R S))
(q : Ideal A) [q.IsPrime]
(hpq : p = q.comap (algebraMap R A))
(τ : q.ResidueField →+* ResidueField S)
(hτ : τ.comp (residueFieldMapFib p q hpq) = residueFieldMapBase p hp) :
q = (maximalIdeal S).comap (algHom hA p hp q hpq τ hτ : A →+* S) ∧
InducesResidueMap q (algHom hA p hp q hpq τ hτ : A →+* S) τ
Stacks.Henselian.EtaleLifting.algHom_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/EtaleLifting/IndEtale.lean, line 733. The attribute's comment: “uniqueness of algHom”.
algHomis the onlyR-algebra mapA → Spulling𝔪 Sback toqand inducingτon residue fields.
theorem algHom_unique
{R : Type u} {A : Type v} {S : Type w}
[CommRing R] [CommRing A] [CommRing S] [Algebra R A] [Algebra R S]
[HenselianLocalRing S]
(hA : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} A)))
(p : Ideal R) [p.IsPrime]
(hp : p = (maximalIdeal S).comap (algebraMap R S))
(q : Ideal A) [q.IsPrime]
(hpq : p = q.comap (algebraMap R A))
(τ : q.ResidueField →+* ResidueField S)
(hτ : τ.comp (residueFieldMapFib p q hpq) = residueFieldMapBase p hp)
(f : A →ₐ[R] S)
(hf : q = (maximalIdeal S).comap (f : A →+* S) ∧
InducesResidueMap q (f : A →+* S) τ) :
f = algHom hA p hp q hpq τ hτ
Tag 08HT, a lemma
Tag 08HT in the Stacks Project.
HenselianLocalRing.existsUnique_algEquiv_of_ind_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/FilteredColimit/Basic.lean, line 1087. The attribute's comment: “"S is a filtered colimit of étale R-algebras" is (CommAlgCat.etale R).ind (CommAlgCat.of R S), as in Lemma 04GN; the source's commutative square is the two R-algebra maps to K; and "the arrows identify K with the residue field" is their surjectivity, K being a field. Uniqueness is stated among all R-algebra maps S → S', which is stronger than the source's uniqueness among isomorphisms. See the module docstring.”.
Uniqueness of the henselization (Stacks 08HT). Let
Rbe a ring, letSandS'be henselian localR-algebras that are filtered colimits of étaleR-algebras, and letp : S →ₐ[R] Kandp' : S' →ₐ[R] Kbe surjections onto a fieldK, so thatKis the residue field of both. Then there is anR-algebra isomorphisme : S ≃ₐ[R] S'such that anR-algebra mapf : S → S'satisfiesp' ∘ f = pif and only iff = e; in particulareis the uniqueR-algebra isomorphismS → S'compatible with the maps toK.
theorem HenselianLocalRing.existsUnique_algEquiv_of_ind_etale
{R : Type u} [CommRing R] {S S' : Type u} [CommRing S] [CommRing S'] [Algebra R S]
[Algebra R S'] [HenselianLocalRing S] [HenselianLocalRing S']
(hS : (CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R S))
(hS' : (CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R S'))
{K : Type v} [Field K] [Algebra R K] (p : S →ₐ[R] K) (p' : S' →ₐ[R] K)
(hp : Function.Surjective p) (hp' : Function.Surjective p') :
∃ e : S ≃ₐ[R] S', ∀ f : S →ₐ[R] S', p'.comp f = p ↔ f = (e : S →ₐ[R] S')
Tag 04GI, a lemma
Tag 04GI in the Stacks Project.
part2_henselian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/Colimit.lean, line 442. The attribute's comment: “henselian”. References: EGA IV (18.6.14).
Part 2 (Henselian case). If each
R_iis henselian, then the colimitRis henselian.Argument (Stacks 04GI, the essential new content). We verify the
HenselianLocalRing.is_henselianclause forR(locality ispart1_isLocalRing). Letg : R[X]be monic,a₀ : Rwithg.eval a₀ ∈ m_RandIsUnit (g.derivative.eval a₀); we must finda : Rwithg.IsRoot aanda - a₀ ∈ m_R.
Descend the data to a finite stage. Since
R[X]is the filtered colimit of theG i[X],Ring.DirectLimit.Polynomial.exists_ofgives an index and a polynomial mapping tog; arranging it to be monic of the same degree (possible after enlarging the index: the leading coefficient of any preimage maps to1 = leadingCoeff g, socolimit_isUnit_descend/of.zero_exactmakes it1at a later stage, or one truncates to the correct degree and sets the top coefficient to1). Also descenda₀ = φ_k b₀(Ring.DirectLimit.exists_of). Push polynomial and point to a common indexk, obtaining a monicp : G k[X]withp.map (φ_k) = gandb₀ : G kwithφ_k b₀ = a₀.The hypotheses descend. Evaluation commutes with
map:φ_k (p.eval b₀) = g.eval a₀andφ\_k (p.derivative.eval b₀) = g.derivative.eval a₀(Polynomial.eval\_map,Polynomial.derivative\_map).g.derivative.eval a₀is a unit, soφ_k (p.derivative.eval b₀)is a unit; bycolimit_isUnit_descendit becomes a unitp'.eval ...at somel ≥ k; pushp, b₀forward tol(so WLOGk = l) to getIsUnit (p.derivative.eval b₀)inG k.
g.eval a₀ ∈ m_Rmeansφ_k (p.eval b₀)is a nonunit ofR; ifp.eval b₀were a unit ofG k, its imageφ_k (p.eval b₀)would be a unit ofR— contradiction. Sop.eval b₀ ∈ m_k.Apply henselianness of
G k.hhens kgivesc : G kwithp.IsRoot c(p.eval c = 0) andc - b₀ ∈ m_k.Push the root forward. Set
a := φ_k c. Theng.eval a = (p.map φ_k).eval (φ_k c) = φ_k (p.eval c) = φ_k 0 = 0(Polynomial.eval_map+eval₂is a ring hom), sog.IsRoot a. Anda - a₀ = φ_k c - φ_k b₀ = φ_k (c - b₀), which lies inm_Rbecausec - b₀ ∈ m_kandφ_kis local (part1_mem_maximalIdeal⟸, orIsLocalRing.map_nonunit).
theorem part2_henselian (hhens : ∀ i, HenselianLocalRing (G i)) :
HenselianLocalRing (colimitRing G f)
part3_strictlyHenselian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/Colimit.lean, line 542. The attribute's comment: “strictly henselian”. References: EGA IV (18.8.18), “i)”.
Part 3 (Strictly henselian case). If each
R_iis strictly henselian (henselian with separably closed residue field), then the colimitRis strictly henselian: it is henselian and its residue field is separably closed.Argument. The henselian conjunct is exactly
part2_henselian G f hlocal hhens. For separable-closedness ofκ_R: bypart1_residueField_colimit,κ_R ≃+* colim_i κ_i, andIsSepClosedtransports across a ring isomorphism (IsSepClosedis preserved byRingEquiv, e.g. viaRingEquiv.isSepClosed/ pulling separable polynomials back and forth). So it suffices thatK := colim_i κ_iis separably closed. UseIsSepClosed.of_exists_root: letq : K[X]be monic, irreducible and separable; we find a root.Ring.DirectLimit.Polynomial.exists_ofdescendsqtoq_i : κ_i[X]withq_i.map (of i) = qat some stagei;qseparable forces (after enlargingi)q_iseparable and of positive degree. Sinceκ_iis separably closed (hsep i),IsSepClosed.exists_rootgives a rootr ∈ κ_iofq_i; its imageof i r ∈ Kis a root ofq(Polynomial.eval_map/eval₂hom +of_f). HenceKis separably closed, and so isκ_R.
theorem part3_strictlyHenselian
(hhens : ∀ i, HenselianLocalRing (G i))
(hsep : ∀ i, IsSepClosed (ResidueField (G i))) :
letI := part1_isLocalRing G f hlocal
HenselianLocalRing (colimitRing G f) ∧
IsSepClosed (ResidueField (colimitRing G f))
Sources
Section10.155 Henselization and strict henselization#
Section 10.155 of the Stacks Project, Tag 0BSK. 13 tags here are carried by 23 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 04GN, a lemma
Tag 04GN in the Stacks Project.
IsLocalRing.exists_henselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/Henselization/Existence.lean, line 709. The attribute's comment: “The lemma's preamble, a local ring map R → Rh, is the Algebra R Rh, IsLocalRing Rh and IsLocalHom (algebraMap R Rh) binders; the four conjuncts are its items (1)–(4). Rh being a filtered colimit of étale R-algebras is (CommAlgCat.etale R).ind, i.e. Rh is ind-étale over R; 𝔪 Rh is Ideal.map; and κ = Rh/𝔪 Rh is bijectivity of the canonical IsLocalRing.ResidueField.map. See the module docstring.”. References: EGA IV (18.6.6), “(i), part of (iii)”; SGA 4 VIII (4.1), “henselization”; SGA 4 VIII (4.1), “henselization”.
Existence of the henselization of a local ring (Stacks 04GN). For a local ring
(R, 𝔪, κ)there is a local ring mapR → Rhsuch that (1)Rhis henselian, (2)Rhis a filtered colimit of étaleR-algebras, (3)𝔪 Rhis the maximal ideal ofRh, and (4) the residue field ofRhisκ.
public theorem IsLocalRing.exists_henselization (R : Type u) [CommRing R] [IsLocalRing R] :
∃ (Rh : Type u) (_ : CommRing Rh) (_ : Algebra R Rh) (_ : IsLocalRing Rh)
(_ : IsLocalHom (algebraMap R Rh)),
HenselianLocalRing Rh ∧
(CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R Rh) ∧
(maximalIdeal R).map (algebraMap R Rh) = maximalIdeal Rh ∧
Function.Bijective (ResidueField.map (algebraMap R Rh))
Tag 04GP, a lemma
Tag 04GP in the Stacks Project.
IsLocalRing.exists_strictHenselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/Existence.lean, line 898. The attribute's comment: “The diagram's middle column is a hypothesis: Rh is any local ind-étale R-algebra with residue field κ, which by Lemmas 04GN and 04GS is the henselization; the conclusion produces Rsh with the algebra structure over Rh and item (1). Strictly henselian is HenselianLocalRing plus IsSepClosed on the residue field, Rsh a filtered colimit of étale R-algebras is (CommAlgCat.etale R).ind, 𝔪 Rsh is Ideal.map, and κ^sep = Rsh/𝔪 Rsh is an isomorphism κ^sep ≃+* ResidueField Rsh compatible with the maps out of R. See the module docstring.”. References: EGA IV (18.8.8), “(i), part of (iii)”.
Existence of the strict henselization of a local ring. Let
(R, 𝔪, κ)be a local ring, letκ ⊆ κ^sepbe a separable algebraic closure, and letRhbe a localR-algebra withR → Rhlocal which is a filtered colimit of étaleR-algebras with residue fieldκ(the henselization ofR). Then there is a commutative diagramR → Rh → Rshoverκ → κ → κ^sepsuch that (1)Rh → Rshis a local ring map, (2)Rshis strictly henselian, (3)Rshis a filtered colimit of étaleR-algebras, (4)𝔪 Rshis the maximal ideal ofRsh, and (5) the residue field ofRshisκ^sep.
public theorem IsLocalRing.exists_strictHenselization (R : Type u) [CommRing R] [IsLocalRing R]
(Rh : Type u) [CommRing Rh] [IsLocalRing Rh] [Algebra R Rh] [IsLocalHom (algebraMap R Rh)]
(hRh : (CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R Rh))
(hRhres : Function.Surjective (ResidueField.map (algebraMap R Rh)))
(κsep : Type u) [Field κsep] [Algebra (ResidueField R) κsep]
[IsSepClosure (ResidueField R) κsep] :
∃ (Rsh : Type u) (_ : CommRing Rsh) (_ : IsLocalRing Rsh) (_ : Algebra R Rsh)
(_ : Algebra Rh Rsh) (_ : IsScalarTower R Rh Rsh) (_ : IsLocalHom (algebraMap Rh Rsh)),
HenselianLocalRing Rsh ∧
IsSepClosed (ResidueField Rsh) ∧
(CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R Rsh) ∧
(maximalIdeal R).map (algebraMap R Rsh) = maximalIdeal Rsh ∧
∃ e : κsep ≃+* ResidueField Rsh, ∀ x : R,
e (algebraMap (ResidueField R) κsep (residue R x)) = residue Rsh (algebraMap R Rsh x)
Stacks.StrictHenselization.exists_isStrictHenselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/ExistenceData.lean, line 164. The attribute's comment: “The five properties of the source's conclusion are bundled into the predicate Stacks.StrictHenselization.IsStrictHenselization, and the henselization R^h, which the sibling statement in StrictHenselization.Existence carries as a hypothesis, is produced here by IsLocalRing.exists_henselization rather than assumed; so this is the source's existential form. The separable algebraic closure is taken over (maximalIdeal R).ResidueField, the spelling IsStrictHenselization uses, and may lie in a universe independent of R.”. References: EGA IV (18.8.7); EGA IV (18.8.8); SGA 4 VIII (4.4).
Existence of the strict henselization (Stacks 04GP). A local ring
(R, 𝔪, κ)together with a separable algebraic closureκ ⊆ κ^sepof its residue field admits a localR-algebraR^{sh}which is a strict henselization ofRwith respect toκ ⊆ κ^sep, that is: it is strictly henselian,R → R^{sh}is a local ring map realizingR^{sh}as a filtered colimit of étaleR-algebras,𝔪 R^{sh}is the maximal ideal ofR^{sh}, and the residue field ofR^{sh}is identified withκ^sepcompatibly withκ ⊆ κ^sep.
public theorem exists_isStrictHenselization (R : Type u) [CommRing R] [IsLocalRing R]
(κ : Type v) [Field κ] [Algebra (maximalIdeal R).ResidueField κ]
[IsSepClosure (maximalIdeal R).ResidueField κ] :
∃ (Rsh : Type u) (_ : CommRing Rsh) (_ : IsLocalRing Rsh) (_ : Algebra R Rsh),
Nonempty (IsStrictHenselization R κ Rsh)
Tag 04GQ, a definition
Tag 04GQ in the Stacks Project.
IsLocalRing.IsHenselization, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/Henselization/Defs.lean, line 169. The attribute's comment: “One predicate for the source's three items: part (1) is IsHenselization R (ResidueField R) Rh, part (2) is IsHenselization R κsep Rsh for κ ⊆ κ^sep a separable algebraic closure, and part (3) is the isomorphism invariance of the three fields, which by Lemma 08HT makes them equivalent to being isomorphic to a ring Lemma 04GP constructs. Rh being a filtered colimit of étale R-algebras is (CommAlgCat.etale R).ind, as in Lemmas 04GN and 04GP, and the residue field condition is item (5) of Lemma 04GP. Locality of R → Rh and 𝔪 Rh = 𝔪_{Rh} are consequences, not fields. See the module docstring.”. References: EGA IV (18.8.7).
Henselization of a local ring (Stacks 04GQ). Let
(R, 𝔪, κ)be a local ring and letκ ⊆ Lbe an extension of its residue field. A localR-algebraRhis a henselization ofRwith residue fieldLifRhis henselian, is a filtered colimit of étaleR-algebras, and has residue fieldLcompatibly withκ ⊆ L. ForL = κthis is the henselizationR → R^hof Lemma 04GN, and forL = κ^sepa separable algebraic closure ofκit is a strict henselizationR → R^{sh}ofRwith respect toκ ⊆ κ^sep, in the sense of Lemma 04GP; by Lemma 08HT such anRhis unique up to a uniqueR-algebra isomorphism overL.
public class IsLocalRing.IsHenselization (R : Type u) [CommRing R] [IsLocalRing R]
(L : Type v) [Field L] [Algebra (ResidueField R) L]
(Rh : Type w) [CommRing Rh] [IsLocalRing Rh] [Algebra R Rh] : Prop
Tag 0BSL, a remark
Tag 0BSL in the Stacks Project.
IsLocalRing.IsHenselization.exists_strictHenselization_iUnion_finiteEtale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/OfHenselization.lean, line 604. The attribute's comment: “The rings R^h(κ') are local Rh-algebras A κ' with injective embeddings ι into Rsh exhausting it, which is the union of the source. The transition maps are pinned as the unique maps compatible with the inclusions of residue fields, and each A κ' is unique up to a unique isomorphism inducing the identity of κ'. That Rsh is the strict henselization is IsHenselization over Rh and over R with residue field κsep.”.
The strict henselization as a union of finite étale extensions of the henselization (Stacks 0BSL). Let
R → Rhbe a henselization of the local ringRand letκsepbe a separable algebraic closure of the residue fieldκofR, identified with that ofRhbye. For every finite subextensionκ ⊆ κ' ⊆ κsepthere is a finite étale local extensionRh ⊆ Rh(κ')with residue field extensionκ ⊆ κ', unique up to unique isomorphism; forκ' ⊆ κ''there is exactly one mapRh(κ') → Rh(κ'')compatible withκ' ⊆ κ''; and the unionRshof the resulting directed system is strictly henselian, and is a strict henselization ofRhand ofR.
theorem IsLocalRing.IsHenselization.exists_strictHenselization_iUnion_finiteEtale
(R : Type u) [CommRing R] [IsLocalRing R] (Rh : Type u) [CommRing Rh] [IsLocalRing Rh]
[Algebra R Rh] [IsHenselization R (ResidueField R) Rh] (κsep : Type u) [Field κsep]
[Algebra (ResidueField R) κsep] [IsSepClosure (ResidueField R) κsep] :
∃ e : ResidueField R ≃+* ResidueField Rh,
(∀ x : R, e (residue R x) = residue Rh (algebraMap R Rh x)) ∧
letI : Algebra (ResidueField Rh) κsep :=
((algebraMap (ResidueField R) κsep).comp e.symm.toRingHom).toAlgebra
IsSepClosure (ResidueField Rh) κsep ∧
∃ (Rsh : Type u) (_ : CommRing Rsh) (_ : IsLocalRing Rsh) (_ : Algebra R Rsh)
(_ : Algebra Rh Rsh) (_ : IsScalarTower R Rh Rsh)
(A : ∀ L, FiniteEtaleLocalResidueLift.{u, u, u} R Rh κsep e L)
(map : ∀ {L L'}, L ≤ L' → A L →ₐ[Rh] A L') (ι : ∀ L, A L →ₐ[Rh] Rsh),
(∀ L L' (h : L ≤ L') (f : A L →ₐ[Rh] A L'), f = map h ↔
∀ a, residue _ (f a) = residueMap (A L) (A L') (IntermediateField.inclusion h)
(residue _ a)) ∧
(∀ L, map (le_refl L) = AlgHom.id Rh (A L)) ∧
(∀ L₁ L₂ L₃ (h₁₂ : L₁ ≤ L₂) (h₂₃ : L₂ ≤ L₃),
(map h₂₃).comp (map h₁₂) = map (h₁₂.trans h₂₃)) ∧
(∀ L (B : FiniteEtaleLocalResidueLift.{u, u, t} R Rh κsep e L),
∃! f : A L ≃ₐ[Rh] B,
∀ a, residue B (f a) = residueMap (A L) B (RingHom.id L) (residue _ a)) ∧
(∀ L L' (h : L ≤ L') a, ι L' (map h a) = ι L a) ∧
(∀ L, Function.Injective (ι L)) ∧ (∀ x, ∃ L a, ι L a = x) ∧
HenselianLocalRing Rsh ∧ IsSepClosed (ResidueField Rsh) ∧
IsHenselization Rh κsep Rsh ∧ IsHenselization R κsep Rsh
Tag 04GR, a lemma
Tag 04GR in the Stacks Project.
existsUnique_ringHom_to_henselian_of_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/HenselizationUniversalProperty.lean, line 543. References: EGA IV (18.5.11), “special case”; EGA IV (18.5.12), “special case”; EGA IV (18.5.17), “affine étale morphisms”; EGA IV (18.6.2); EGA IV (18.8.1), “(a)⇒(c), special case”; EGA IV (18.8.4), “special case”; SGA 1 I (6.2), “special case”; SGA 3 XI (1.11), “special case”; SGA 4 VIII (4.1), “(iii)”.
Stacks Tag 04GR. Let
R, S, Shbe local rings,R → S(rs) a local ring homomorphism, andS → Sh(ssh) a local ring homomorphism into a henselian local ringSh. LetR → Abe étale and letq ⊆ Abe a prime lying over the maximal ideal ofRwhose induced residue-field mapR/𝔪_R → κ(q)is bijective. Then there is a unique ring homomorphismf : A → Shthat isR-linear (f ∘ algebraMap R A = ssh ∘ rs) and satisfies(maximalIdeal Sh).comap f = q.
theorem existsUnique_ringHom_to_henselian_of_etale
(R S Sh A : Type*)
[CommRing R] [CommRing S] [CommRing Sh] [CommRing A]
[IsLocalRing R] [IsLocalRing S]
[Algebra R A] [Algebra.Etale R A]
(rs : R →+* S) [IsLocalHom rs]
(ssh : S →+* Sh) [IsLocalHom ssh] [HenselianLocalRing Sh]
(q : Ideal A) [q.IsPrime] [q.LiesOver (maximalIdeal R)]
(hres : Function.Bijective
(Ideal.ResidueField.map (maximalIdeal R) q (algebraMap R A)
Ideal.LiesOver.over)) :
∃! f : A →+* Sh,
f.comp (algebraMap R A) = ssh.comp rs ∧ (maximalIdeal Sh).comap f = q
Tag 04GS, a lemma
Tag 04GS in the Stacks Project.
HenselianLocalRing.indEtaleAlgHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/HenselizationUniversalProperty.lean, line 376. The attribute's comment: “The map of the universal property of R^h: the target is an arbitrary henselian local ring Sh with R → Sh local, since the source's S enters only through the composite R → S → S^h. Of the henselization R → Rh only the two items of Lemma 04GN that the proof uses are assumed — ind-étale, (CommAlgCat.etale R).ind, and surjectivity on residue fields. The commutative square is the R-algebra structure of the map. isLocalHom_indEtaleAlgHom and indEtaleAlgHom_unique are its defining property and its uniqueness. See the module docstring.”.
The map given by the universal property of the henselization (Stacks 04GS). Let
(R, 𝔪, κ)be a local ring, letRhbe a localR-algebra withR → Rhlocal which is a filtered colimit of étaleR-algebras and has residue fieldκ, and letShbe a henselian local ring withR → Shlocal. This is theR-algebra mapRh → Shthat is a local ring map, unique as such byindEtaleAlgHom_unique. Applied to the henselizationsRh = R^handSh = S^hof a local map of local ringsR → S, it is the local ring mapR^h → S^hoverR → Sthat makes the henselization a functor.
noncomputable def HenselianLocalRing.indEtaleAlgHom
{R : Type u} {Rh : Type v} {Sh : Type w} [CommRing R] [CommRing Rh] [CommRing Sh]
[IsLocalRing R]
[IsLocalRing Rh] [HenselianLocalRing Sh] [Algebra R Rh] [Algebra R Sh]
[IsLocalHom (algebraMap R Rh)] [IsLocalHom (algebraMap R Sh)]
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rh)))
(hres : Function.Surjective (ResidueField.map (algebraMap R Rh))) :
Rh →ₐ[R] Sh
HenselianLocalRing.isLocalHom_indEtaleAlgHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/HenselizationUniversalProperty.lean, line 390. The attribute's comment: “the defining property of indEtaleAlgHom”.
HenselianLocalRing.indEtaleAlgHomis a local ring map.
public theorem HenselianLocalRing.isLocalHom_indEtaleAlgHom
{R : Type u} {Rh : Type v} {Sh : Type w} [CommRing R] [CommRing Rh] [CommRing Sh]
[IsLocalRing R]
[IsLocalRing Rh] [HenselianLocalRing Sh] [Algebra R Rh] [Algebra R Sh]
[IsLocalHom (algebraMap R Rh)] [IsLocalHom (algebraMap R Sh)]
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rh)))
(hres : Function.Surjective (ResidueField.map (algebraMap R Rh))) :
IsLocalHom (HenselianLocalRing.indEtaleAlgHom (Sh := Sh) hind hres)
HenselianLocalRing.indEtaleAlgHom_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/HenselizationUniversalProperty.lean, line 404. The attribute's comment: “uniqueness of indEtaleAlgHom”.
HenselianLocalRing.indEtaleAlgHomis the only localR-algebra mapRh → Sh.
public theorem HenselianLocalRing.indEtaleAlgHom_unique
{R : Type u} {Rh : Type v} {Sh : Type w} [CommRing R] [CommRing Rh] [CommRing Sh]
[IsLocalRing R]
[IsLocalRing Rh] [HenselianLocalRing Sh] [Algebra R Rh] [Algebra R Sh]
[IsLocalHom (algebraMap R Rh)] [IsLocalHom (algebraMap R Sh)]
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rh)))
(hres : Function.Surjective (ResidueField.map (algebraMap R Rh)))
(f : Rh →ₐ[R] Sh) (hf : IsLocalHom f) :
f = HenselianLocalRing.indEtaleAlgHom hind hres
Tag 04GV, a lemma
Tag 04GV in the Stacks Project.
IsLocalRing.IsHenselization.isFiltered_etaleNeighborhood_and_isColimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/Henselization/EtaleNeighborhood.lean, line 333. The attribute's comment: “Étale neighborhoods (S, q) with κ(p) = κ(q) are étale R-algebras with an augmentation to κ(p), whose kernel is q. canonically is the characterization of the colimit maps S → (R_p)^h: the unique family inducing the identity of κ(p) = κ((R_p)^h) on residue fields; the maps S_q → (R_p)^h are pinned by extending them along S → S_q. The henselization is IsHenselization with residue field κ(p).”. References: SGA 4 VIII (4.1), “more general”.
The henselization as a colimit of étale neighborhoods (Stacks 04GV). Let
pbe a prime ofRand letRhbe a henselization ofR_p. The category of étale neighborhoods(S, q)ofpwithκ(q) = κ(p)is filtered, andRhis canonically the colimit of the algebrasSand also of the local ringsS_q. The canonical mapsS → Rhare the uniqueR-algebra maps inducingκ(q) = κ(p) ≅ κ(Rh)on residue fields, and the mapsS_q → Rhextend them.
theorem isFiltered_etaleNeighborhood_and_isColimit :
IsFiltered (EtaleNeighborhood p) ∧
∃ ι : EtaleNeighborhood.forget p ⟶ (Functor.const _).obj (CommAlgCat.of R Rh),
(∀ A x, residue Rh ((ι.app A).hom x) =
ResidueField.map (algebraMap (Localization.AtPrime p) Rh) (A.hom.hom x)) ∧
(∀ ι' : EtaleNeighborhood.forget p ⟶ (Functor.const _).obj (CommAlgCat.of R Rh),
(∀ A x, residue Rh ((ι'.app A).hom x) =
ResidueField.map (algebraMap (Localization.AtPrime p) Rh) (A.hom.hom x)) → ι' = ι) ∧
Nonempty (IsColimit (Cocone.mk _ ι)) ∧
∃ ιLoc : EtaleNeighborhood.localization p ⟶ (Functor.const _).obj (CommAlgCat.of R Rh),
(∀ A, (EtaleNeighborhood.toLocalization p).app A ≫ ιLoc.app A = ι.app A) ∧
Nonempty (IsColimit (Cocone.mk _ ιLoc))
Tag 08HU, a lemma
Tag 08HU in the Stacks Project.
IsLocalRing.IsHenselization.exists_unique_prime_isHenselization_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/Henselization/TensorProduct.lean, line 366. The attribute's comment: “The map R^h → S^h of 04GS is pinned as the unique local R-algebra map f compatible with R_p → S_q. The prime is characterized by its two contractions, with uniqueness, and equals g⁻¹(𝔪_{S^h}) for the map g induced by f; that S^h is the henselization of (R^h ⊗_R S)_Q is IsHenselization with residue field κ(Q), through an algebra structure extending g. All rings share one universe, as IsHenselization requires.”.
The henselization after a ring map (Stacks 08HU). Let
R → Sbe a ring map and letq ⊆ Slie overp ⊆ R. LetRhandShbe henselizations ofR_pandS_q. The local ring mapf : Rh → Shof Lemma 04GS (the unique local map overR_p → S_q) identifiesShwith the henselization ofRh ⊗[R] Sat the unique primeQlying over𝔪_Rhandq: hereQis the inverse image of𝔪_Shunder the mapg : Rh ⊗[R] S → Shinduced byf, andShis a henselization of(Rh ⊗[R] S)_Qthrough an algebra structure extendingg.
theorem exists_unique_prime_isHenselization_tensorProduct [Algebra R Sq] [Algebra Rp Sq]
[IsScalarTower R S Sq] [IsScalarTower R Rp Sq] [IsHenselization Rp (ResidueField Rp) Rh]
[Algebra Rp Sh] [IsScalarTower Rp Sq Sh] [IsHenselization Sq (ResidueField Sq) Sh] :
∃ f : Rh →ₐ[R] Sh, IsLocalHom f ∧
f.toRingHom.comp (algebraMap Rp Rh) = algebraMap Rp Sh ∧
(∀ f' : Rh →ₐ[R] Sh, IsLocalHom f' →
f'.toRingHom.comp (algebraMap Rp Rh) = algebraMap Rp Sh → f' = f) ∧
let g : Rh ⊗[R] S →ₐ[R] Sh :=
Algebra.TensorProduct.lift f (IsScalarTower.toAlgHom R S Sh) fun _ _ => .all _ _
∃ (Q : Ideal (Rh ⊗[R] S)) (_ : Q.IsPrime),
Q.comap (Algebra.TensorProduct.includeLeftRingHom (R := R) (A := Rh) (B := S)) =
maximalIdeal Rh ∧
Q.comap (Algebra.TensorProduct.includeRight (R := R) (A := Rh) (B := S)).toRingHom = q ∧
Q = (maximalIdeal Sh).comap g.toRingHom ∧
(∀ Q' : Ideal (Rh ⊗[R] S), Q'.IsPrime →
Q'.comap (Algebra.TensorProduct.includeLeftRingHom (R := R) (A := Rh) (B := S)) =
maximalIdeal Rh →
Q'.comap (Algebra.TensorProduct.includeRight (R := R) (A := Rh) (B := S)).toRingHom =
q → Q' = Q) ∧
∃ _ : Algebra (Localization.AtPrime Q) Sh,
IsLocalHom (algebraMap (Localization.AtPrime Q) Sh) ∧
IsHenselization (Localization.AtPrime Q) (ResidueField (Localization.AtPrime Q)) Sh ∧
(algebraMap (Localization.AtPrime Q) Sh).comp
(algebraMap (Rh ⊗[R] S) (Localization.AtPrime Q)) = g.toRingHom
StacksDraft.henselization_tensorProduct_at_unique_prime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HenselizationUniverse/TensorProduct.lean, line 287. The attribute's comment: “Stated over six independent universes, as the source requires: the tag's six rings R, R_p, R^h, S, S_q, S^h are unconstrained relative to one another.”.
Henselization after a ring map (Stacks 08HU), at six independent universes. For primes
qoverp, the canonical local map between henselizations ofR_pandS_qidentifies the latter with the henselization ofRh ⊗[R] Sat its unique prime lying over both the maximal ideal ofRhandq. The final equality says that the henselization map is induced by the canonical map from the tensor product.This is the source-strength form of tag 08HU, and the provider of that tag. The weaker single-universe statement
IsLocalRing.IsHenselization.exists_unique_prime_isHenselization_tensorProductpins all six rings to oneType u; its@[stacks 08HU]attribute is dropped in favour of this one. See the module docstring.
theorem henselization_tensorProduct_at_unique_prime
{R : Type uR} {Rp : Type uRp} {Rh : Type uRh}
{S : Type uS} {Sq : Type uSq} {Sh : Type uSh}
[CommRing R] [CommRing S] [Algebra R S]
(p : Ideal R) (q : Ideal S) [p.IsPrime] [q.IsPrime] [q.LiesOver p]
[CommRing Rp] [IsLocalRing Rp] [Algebra R Rp] [IsLocalization.AtPrime Rp p]
[CommRing Sq] [IsLocalRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq q]
[Algebra R Sq] [Algebra Rp Sq] [IsScalarTower R S Sq] [IsScalarTower R Rp Sq]
[CommRing Rh] [IsLocalRing Rh] [Algebra R Rh] [Algebra Rp Rh]
[IsScalarTower R Rp Rh] [IsHenselization Rp (ResidueField Rp) Rh]
[CommRing Sh] [IsLocalRing Sh] [Algebra R Sh] [Algebra S Sh] [Algebra Rp Sh]
[Algebra Sq Sh] [IsScalarTower R S Sh] [IsScalarTower S Sq Sh]
[IsScalarTower Rp Sq Sh] [IsHenselization Sq (ResidueField Sq) Sh] :
∃ f : Rh →ₐ[R] Sh,
IsLocalHom f ∧
f.toRingHom.comp (algebraMap Rp Rh) = algebraMap Rp Sh ∧
(∀ f' : Rh →ₐ[R] Sh, IsLocalHom f' →
f'.toRingHom.comp (algebraMap Rp Rh) = algebraMap Rp Sh → f' = f) ∧
let g : Rh ⊗[R] S →ₐ[R] Sh :=
Algebra.TensorProduct.lift f (IsScalarTower.toAlgHom R S Sh)
(fun _ _ => Commute.all _ _)
∃ (Q : Ideal (Rh ⊗[R] S)) (_hQ : Q.IsPrime),
Q.comap (Algebra.TensorProduct.includeLeftRingHom (R := R) (A := Rh) (B := S)) =
maximalIdeal Rh ∧
Q.comap (Algebra.TensorProduct.includeRight (R := R) (A := Rh) (B := S)).toRingHom = q ∧
Q = (maximalIdeal Sh).comap g.toRingHom ∧
(∀ (Q' : Ideal (Rh ⊗[R] S)), Q'.IsPrime →
Q'.comap (Algebra.TensorProduct.includeLeftRingHom (R := R) (A := Rh) (B := S)) =
maximalIdeal Rh →
Q'.comap (Algebra.TensorProduct.includeRight (R := R) (A := Rh) (B := S)).toRingHom =
q → Q' = Q) ∧
∃ alg : Algebra (Localization.AtPrime Q) Sh,
letI : Algebra (Localization.AtPrime Q) Sh := alg
∃ _ : IsLocalHom (algebraMap (Localization.AtPrime Q) Sh),
IsHenselization (Localization.AtPrime Q)
(ResidueField (Localization.AtPrime Q)) Sh ∧
(algebraMap (Localization.AtPrime Q) Sh).comp
(algebraMap (Rh ⊗[R] S) (Localization.AtPrime Q)) = g.toRingHom
Tag 04GT, a lemma
Tag 04GT in the Stacks Project.
Stacks.StrictHenselization.strict_henselization_universal_property, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization.lean, line 1104.
Theorem (Stacks Tag 04GT). Let
φ : R → Sbe a local ring map of local rings, letκ(S) ⊂ κsepbe a separable algebraic closure of the residue field ofS, and letS → Sshbe a strict henselization ofSwith respect to it. LetR → Abe an étale ring map andqa prime ofAlying overm_R. Given a residue field pointφbar : κ(q) → κsepmaking the residue field square commute, there is a unique ring mapf : A → Sshcompatible over the base, withf⁻¹(m_{Ssh}) = q, and inducingφbaron residue fields (via the identificationκ(Ssh) ≅ κsep).
theorem strict_henselization_universal_property
-- Local rings and the local base map `φ : R → S`.
{R S : Type*} [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S]
(φ : R →+* S) [IsLocalHom φ]
-- A separable algebraic closure `κ(S) ⊂ κsep` of the residue field of `S` (Definition 2).
(κsep : Type*) [Field κsep] [Algebra (maximalIdeal S).ResidueField κsep]
[IsSepClosure (maximalIdeal S).ResidueField κsep]
-- The strict henselization `S → Ssh` (Definition 3).
{Ssh : Type*} [CommRing Ssh] [IsLocalRing Ssh] [Algebra S Ssh]
(hsh : IsStrictHenselization S κsep Ssh)
-- An étale `R`-algebra `A` and a prime `q` lying over `m_R`.
{A : Type*} [CommRing A] [Algebra R A] [Algebra.Etale R A]
(q : Ideal A) [q.IsPrime] (hq : maximalIdeal R = q.comap (algebraMap R A))
-- The given residue field point `φbar : κ(q) → κsep`.
(φbar : q.ResidueField →+* κsep)
-- Compatibility of the residue square:
-- `φbar ∘ (κ(R) → κ(q)) = (κ(S) → κsep) ∘ (κ(R) → κ(S))`.
(hsquare :
φbar.comp (Ideal.ResidueField.map (maximalIdeal R) q (algebraMap R A) hq)
=
(algebraMap (maximalIdeal S).ResidueField κsep).comp
(Ideal.ResidueField.map (maximalIdeal R) (maximalIdeal S) φ
(maximalIdeal_comap φ).symm)) :
∃! f : A →+* Ssh,
-- (1) Compatibility over the base.
(f.comp (algebraMap R A) = (algebraMap S Ssh).comp φ) ∧
-- (2) Prime condition: `f⁻¹(m_{Ssh}) = q`.
(∃ hf : q = (maximalIdeal Ssh).comap f,
-- (3) Residue field condition: the induced `κ(q) → κ(Ssh)` equals
-- `κ(q) --φbar--> κsep ≃ κ(Ssh)`.
Ideal.ResidueField.map q (maximalIdeal Ssh) f hf
= (hsh.residueFieldEquiv : κsep →+* (maximalIdeal Ssh).ResidueField).comp φbar)
Tag 04GU, a lemma
Tag 04GU in the Stacks Project.
HenselianLocalRing.indEtaleAlgHomOfResidue, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization.lean, line 392. The attribute's comment: “The map of the universal property: the target is an arbitrary henselian local R-algebra Ssh, since the source's S enters only through the composite R → S → S^sh, and of R^sh only locality and ind-étaleness — (CommAlgCat.etale R).ind, the spelling of Lemma 04GP(3) — are used. The source's square of residue fields is hφ, stated at the level of R; R local and both structure maps local are consequences of it, not hypotheses. isLocalHom_indEtaleAlgHomOfResidue, comp_residue_indEtaleAlgHomOfResidue and indEtaleAlgHomOfResidue_unique are its two properties and its uniqueness. See the module docstring.”. References: EGA IV (18.8.8.1), “existence of A^hs->B”; EGA IV (18.8.8).
The map given by functoriality of the strict henselization (Stacks 04GU). Let
Rbe a ring, letRshbe a localR-algebra which is a filtered colimit of étaleR-algebras, letSshbe a henselian localR-algebra, and letφ : ResidueField Rsh →+* ResidueField Sshbe compatible with the residue maps ofR → RshandR → Ssh. This is theR-algebra mapf : Rsh → Sshinducingφon residue fields; it is a local ring map, and is the only such map. Applied to strict henselizationsRsh = R^shandSsh = S^shof a local map of local ringsR → S, and to a mapφ : κ₁^sep → κ₂^sepof separable algebraic closures over the residue field map ofR → S, it is the local ring mapR^sh → S^shoverR → Sinducingφ.
noncomputable def HenselianLocalRing.indEtaleAlgHomOfResidue
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rsh)))
(φ : ResidueField Rsh →+* ResidueField Ssh)
(hφ : φ.comp ((residue Rsh).comp (algebraMap R Rsh))
= (residue Ssh).comp (algebraMap R Ssh)) :
Rsh →ₐ[R] Ssh
HenselianLocalRing.comp_residue_indEtaleAlgHomOfResidue, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization.lean, line 405. The attribute's comment: “the defining property of indEtaleAlgHomOfResidue”. References: EGA IV (18.8.8.1), “induces \psi on residues”; EGA IV (18.8.4), “partial”.
HenselianLocalRing.indEtaleAlgHomOfResidueinducesφon residue fields.
public theorem HenselianLocalRing.comp_residue_indEtaleAlgHomOfResidue
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rsh)))
(φ : ResidueField Rsh →+* ResidueField Ssh)
(hφ : φ.comp ((residue Rsh).comp (algebraMap R Rsh))
= (residue Ssh).comp (algebraMap R Ssh)) :
(residue Ssh).comp
(HenselianLocalRing.indEtaleAlgHomOfResidue hind φ hφ : Rsh →+* Ssh)
= φ.comp (residue Rsh)
HenselianLocalRing.isLocalHom_indEtaleAlgHomOfResidue, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization.lean, line 420. The attribute's comment: “indEtaleAlgHomOfResidue is local, which the source asserts”. References: EGA IV (18.8.8.1), “locality of A^hs->B”.
HenselianLocalRing.indEtaleAlgHomOfResidueis a local ring map.
public theorem HenselianLocalRing.isLocalHom_indEtaleAlgHomOfResidue
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rsh)))
(φ : ResidueField Rsh →+* ResidueField Ssh)
(hφ : φ.comp ((residue Rsh).comp (algebraMap R Rsh))
= (residue Ssh).comp (algebraMap R Ssh)) :
IsLocalHom (HenselianLocalRing.indEtaleAlgHomOfResidue hind φ hφ)
HenselianLocalRing.indEtaleAlgHomOfResidue_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization.lean, line 433. The attribute's comment: “uniqueness of indEtaleAlgHomOfResidue”. References: EGA IV (18.8.8.1), “uniqueness of A^hs->B”.
HenselianLocalRing.indEtaleAlgHomOfResidueis the only localR-algebra mapRsh → Sshinducingφon residue fields.
public theorem HenselianLocalRing.indEtaleAlgHomOfResidue_unique
(hind : (CommAlgCat.etale.{max u v} R).ind.{max u v}
(CommAlgCat.of R (ULift.{u} Rsh)))
(φ : ResidueField Rsh →+* ResidueField Ssh)
(hφ : φ.comp ((residue Rsh).comp (algebraMap R Rsh))
= (residue Ssh).comp (algebraMap R Ssh))
(f : Rsh →ₐ[R] Ssh) (hfloc : IsLocalHom f)
(hf : (residue Ssh).comp (f : Rsh →+* Ssh) = φ.comp (residue Rsh)) :
f = HenselianLocalRing.indEtaleAlgHomOfResidue hind φ hφ
Stacks.StrictHenselization.IsStrictHenselization.existsUnique_algHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/StrictlyHenselianTarget.lean, line 167. The attribute's comment: “The universal property read off IsStrictHenselization: the residue datum is a map out of the chosen separable closure κ^sep rather than out of IsLocalRing.ResidueField R, the convention HenselianLocalRing.indEtaleAlgHomOfResidue is phrased in, and the target is an arbitrary henselian local A-algebra as there. Existence and uniqueness among local A-algebra maps are the source's two assertions.”. References: EGA IV (18.8.8), “more general”; EGA IV (18.8.9), “special case”; SGA 4 VIII (4.4), “more general”.
The universal property of the strict henselization against a henselian local algebra (Stacks 04GU). Let
Abe a local ring, letκ^sepbe a separable algebraic closure of its residue field and letRbe a strict henselization ofAwith respect to it. LetCbe a henselian localA-algebra, and letχ : κ^sep → κ(C)be a ring map compatible with the residue maps ofA → RandA → C(the square of fields of the source). Then there is exactly one localA-algebra mapR → Cinducingχon residue fields.The source states this for
Ca strict henselization of a local ringSreceiving a local map fromA; Lemma 04GU uses ofConly that it is a henselian localA-algebra, and that is the form taken here, since the target that this is applied to is known to be strictly henselian before it is known to be a strict henselization.
theorem IsStrictHenselization.existsUnique_algHom (hR : IsStrictHenselization A κsep R)
{C : Type*} [CommRing C] [HenselianLocalRing C] [Algebra A C]
(χ : κsep →+* ResidueField C)
(hχ : ∀ a : A, χ (algebraMap (maximalIdeal A).ResidueField κsep
(algebraMap A (maximalIdeal A).ResidueField a))
= residue C (algebraMap A C a)) :
∃! f : R →ₐ[A] C, IsLocalHom f ∧
(residue C).comp (f : R →+* C) = (χ.comp hR.residueFieldHom).comp (residue R)
Stacks.StrictHenselization.IsStrictHenselization.exists_algHom_of_isSepClosed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/StrictlyHenselianTarget.lean, line 200. The attribute's comment: “The source's map, in the case where the target's residue field is only known to be separably closed rather than identified with a chosen separable closure: the residue datum is then not part of the input but produced by IsSepClosed.lift, and only existence survives.”. References: EGA IV (18.8.8), “(ii)”.
A strictly henselian local algebra receives a local map from the strict henselization. Let
Abe a local ring, letκ^sepbe a separable algebraic closure of its residue field and letRbe a strict henselization ofAwith respect to it. LetCbe a henselian localA-algebra with separably closed residue field whose structure map is local. Then there is a localA-algebra mapR → C.No residue datum has to be supplied:
κ^sepis separable overκ_Aandκ(C)is a separably closed field overκ_Athrough the residue map ofA → C, soIsSepClosed.liftproduces one, andexistsUnique_algHomturns it into the map. Uniqueness is not asserted, and genuinely fails: the local mapsR → CoverAare permuted by the automorphisms ofκ^sepoverκ_A, and it is the residue datum that singles one out.
theorem IsStrictHenselization.exists_algHom_of_isSepClosed (hR : IsStrictHenselization A κsep R)
(C : Type*) [CommRing C] [HenselianLocalRing C] [Algebra A C]
[IsLocalHom (algebraMap A C)] (hC : IsSepClosed (ResidueField C)) :
∃ f : R →ₐ[A] C, IsLocalHom f
Tag 04GW, a lemma
Tag 04GW in the Stacks Project.
IsLocalRing.IsHenselization.isFiltered_augmentedEtale_and_isColimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselizationColimit.lean, line 324. The attribute's comment: “A triple (S, q, φ) is an étale R-algebra with an R-algebra map to κ^sep, whose kernel is q. The strict henselization of R_p with respect to κ^sep is IsHenselization (Localization.AtPrime p) κsep Rsh; the statement is proved for any extension L of κ(p). canonically is the characterization of the colimit maps S → Rsh: given the identification e : κ^sep ≅ κ(Rsh), they are the unique maps reducing to S → κ^sep ≅ κ(Rsh); the maps S_q → Rsh extend them along S → S_q.”.
The strict henselization as a colimit of étale algebras (Stacks 04GW). Let
pbe a prime ofR, letLbe an extension ofκ(p)(a separable algebraic closureκ^sep, in the source), letRshbe a henselization ofR_pwith residue fieldL(the strict henselization(R_p)^{sh}), and fix an isomorphisme : L ≅ κ(Rsh)compatible with the maps fromR. The category of étaleR-algebrasSwith anR-algebra mapS → L— the triples(S, q, φ)— is filtered, andRshis canonically the colimit of the algebrasSand also of the local ringsS_q, whereqis the kernel ofS → L. The canonical mapsS → Rshare the uniqueR-algebra maps whose reduction isS → L ≅ κ(Rsh), and the mapsS_q → Rshextend them.
theorem isFiltered_augmentedEtale_and_isColimit [IsScalarTower R (Localization.AtPrime p) Rsh] :
IsFiltered (AugmentedEtale R L) ∧
∃ ι : forget R L ⟶ (Functor.const _).obj (CommAlgCat.of R Rsh),
(∀ A x, residue Rsh ((ι.app A).hom x) = e (A.hom.hom x)) ∧
(∀ ι' : forget R L ⟶ (Functor.const _).obj (CommAlgCat.of R Rsh),
(∀ A x, residue Rsh ((ι'.app A).hom x) = e (A.hom.hom x)) → ι' = ι) ∧
Nonempty (IsColimit (Cocone.mk _ ι)) ∧
∃ ιLoc : localization R L ⟶ (Functor.const _).obj (CommAlgCat.of R Rsh),
(∀ A, (toLocalization R L).app A ≫ ιLoc.app A = ι.app A) ∧
Nonempty (IsColimit (Cocone.mk _ ιLoc))
Tag 08HV, a lemma
Tag 08HV in the Stacks Project.
IsLocalRing.IsHenselization.exists_prime_isStrictHenselization_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/TensorProduct.lean, line 70. The attribute's comment: “The separable algebraic closures are the residue fields of R^sh and S^sh, and the commutative square is the compatibility hphi of φ with the residue maps out of R. The map of 04GU is pinned as the unique local R-algebra map inducing φ. The prime is g⁻¹(𝔪_{S^sh}) with its two contractions; that S^sh is the strict henselization of (R^sh ⊗_R S)_Q is IsHenselization with residue field κ(S^sh), separably closed over κ(Q). All rings share one universe, as IsHenselization requires.”.
The strict henselization after a ring map (Stacks 08HV). Let
R → Sbe a ring map and letq ⊆ Slie overp ⊆ R. LetRshandSshbe strict henselizations ofR_pandS_q, with respect to the separable algebraic closuresκ(Rsh)ofκ(p)andκ(Ssh)ofκ(q), and letφ : κ(Rsh) → κ(Ssh)be compatible with the residue maps out ofR. The local mapf : Rsh → Sshof Lemma 04GU inducingφidentifiesSshwith the strict henselization ofRsh ⊗[R] Sat the primeQ = g⁻¹(𝔪_Ssh), whereg : Rsh ⊗[R] S → Sshis induced byf;Qlies over𝔪_Rshand overq.
theorem exists_prime_isStrictHenselization_tensorProduct [Algebra R Sq] [Algebra Rp Sq]
[IsScalarTower R S Sq] [IsScalarTower R Rp Sq] [Algebra Rp Ssh] [IsScalarTower R Rp Ssh]
[IsScalarTower Rp Sq Ssh] (phi : ResidueField Rsh →+* ResidueField Ssh)
(hphi : phi.comp ((residue Rsh).comp (algebraMap R Rsh)) =
(residue Ssh).comp (algebraMap R Ssh)) :
∃ f : Rsh →ₐ[R] Ssh, IsLocalHom f ∧
(residue Ssh).comp f.toRingHom = phi.comp (residue Rsh) ∧
(∀ f' : Rsh →ₐ[R] Ssh, IsLocalHom f' →
(residue Ssh).comp f'.toRingHom = phi.comp (residue Rsh) → f' = f) ∧
let g : Rsh ⊗[R] S →ₐ[R] Ssh :=
Algebra.TensorProduct.lift f (IsScalarTower.toAlgHom R S Ssh) fun _ _ => .all _ _
∃ (Q : Ideal (Rsh ⊗[R] S)) (_ : Q.IsPrime),
Q.comap (Algebra.TensorProduct.includeLeftRingHom (R := R) (A := Rsh) (B := S)) =
maximalIdeal Rsh ∧
Q.comap (Algebra.TensorProduct.includeRight (R := R) (A := Rsh) (B := S)).toRingHom = q ∧
Q = (maximalIdeal Ssh).comap g.toRingHom ∧
∃ _ : Algebra (Localization.AtPrime Q) Ssh,
IsLocalHom (algebraMap (Localization.AtPrime Q) Ssh) ∧
∃ _ : Algebra (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh),
IsSepClosure (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh) ∧
IsHenselization (Localization.AtPrime Q) (ResidueField Ssh) Ssh ∧
(∀ x, algebraMap (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh)
(residue (Localization.AtPrime Q) x) =
residue Ssh (algebraMap (Localization.AtPrime Q) Ssh x)) ∧
(algebraMap (Localization.AtPrime Q) Ssh).comp
(algebraMap (Rsh ⊗[R] S) (Localization.AtPrime Q)) = g.toRingHom
StacksDraft.strictHenselization_tensorProduct_at_induced_prime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HenselizationUniverse/StrictTensorProduct.lean, line 76. The attribute's comment: “Stated over six independent universes, as the source requires: the tag's six rings R, R_p, R^sh, S, S_q, S^sh are unconstrained relative to one another.”.
Strict henselization after a ring map (Stacks 08HV), at six independent universes. For primes
qoverpand compatible separable closures of their residue fields, the canonical local map between strict henselizations identifies the target with the strict henselization ofRsh ⊗[R] Sat the prime induced by that map.This is the source-strength form of tag 08HV, and the provider of that tag. The weaker single-universe statement
IsLocalRing.IsHenselization.exists_prime_isStrictHenselization_tensorProductpins all six rings to oneType u; its@[stacks 08HV]attribute is dropped in favour of this one. See the module docstring.
theorem strictHenselization_tensorProduct_at_induced_prime
{R : Type uR} {Rp : Type uRp} {Rsh : Type uRsh}
{S : Type uS} {Sq : Type uSq} {Ssh : Type uSsh}
[CommRing R] [CommRing S] [Algebra R S]
(p : Ideal R) (q : Ideal S) [p.IsPrime] [q.IsPrime] [q.LiesOver p]
[CommRing Rp] [IsLocalRing Rp] [Algebra R Rp] [IsLocalization.AtPrime Rp p]
[CommRing Sq] [IsLocalRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq q]
[Algebra R Sq] [Algebra Rp Sq] [IsScalarTower R S Sq] [IsScalarTower R Rp Sq]
[CommRing Rsh] [IsLocalRing Rsh] [Algebra R Rsh] [Algebra Rp Rsh]
[IsScalarTower R Rp Rsh]
[Algebra (ResidueField Rp) (ResidueField Rsh)]
[IsSepClosure (ResidueField Rp) (ResidueField Rsh)]
[IsHenselization Rp (ResidueField Rsh) Rsh]
[CommRing Ssh] [IsLocalRing Ssh] [Algebra R Ssh] [Algebra S Ssh] [Algebra Rp Ssh]
[Algebra Sq Ssh] [IsScalarTower R S Ssh] [IsScalarTower S Sq Ssh]
[IsScalarTower R Rp Ssh] [IsScalarTower Rp Sq Ssh]
[Algebra (ResidueField Sq) (ResidueField Ssh)]
[IsSepClosure (ResidueField Sq) (ResidueField Ssh)]
[IsHenselization Sq (ResidueField Ssh) Ssh]
(phi : ResidueField Rsh →+* ResidueField Ssh)
(hphi : phi.comp ((residue Rsh).comp (algebraMap R Rsh)) =
(residue Ssh).comp (algebraMap R Ssh)) :
∃ f : Rsh →ₐ[R] Ssh,
IsLocalHom f ∧
(residue Ssh).comp f.toRingHom = phi.comp (residue Rsh) ∧
(∀ f' : Rsh →ₐ[R] Ssh, IsLocalHom f' →
(residue Ssh).comp f'.toRingHom = phi.comp (residue Rsh) → f' = f) ∧
let g : Rsh ⊗[R] S →ₐ[R] Ssh :=
Algebra.TensorProduct.lift f (IsScalarTower.toAlgHom R S Ssh)
(fun _ _ => Commute.all _ _)
∃ (Q : Ideal (Rsh ⊗[R] S)) (_hQ : Q.IsPrime),
Q.comap (Algebra.TensorProduct.includeLeftRingHom (R := R) (A := Rsh) (B := S)) =
maximalIdeal Rsh ∧
Q.comap (Algebra.TensorProduct.includeRight (R := R) (A := Rsh) (B := S)).toRingHom = q ∧
Q = (maximalIdeal Ssh).comap g.toRingHom ∧
∃ alg : Algebra (Localization.AtPrime Q) Ssh,
letI : Algebra (Localization.AtPrime Q) Ssh := alg
∃ _ : IsLocalHom (algebraMap (Localization.AtPrime Q) Ssh),
∃ algRes : Algebra (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh),
letI : Algebra (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh) := algRes
IsSepClosure (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh) ∧
IsHenselization (Localization.AtPrime Q) (ResidueField Ssh) Ssh ∧
(∀ x : Localization.AtPrime Q,
algebraMap (ResidueField (Localization.AtPrime Q)) (ResidueField Ssh)
(residue (Localization.AtPrime Q) x) =
residue Ssh (algebraMap (Localization.AtPrime Q) Ssh x)) ∧
(algebraMap (Localization.AtPrime Q) Ssh).comp
(algebraMap (Rsh ⊗[R] S) (Localization.AtPrime Q)) = g.toRingHom
Tag 0C2Z, a lemma
Tag 0C2Z in the Stacks Project.
IsLocalRing.IsHenselization.exists_algEquiv_tensorProduct_strictHenselization_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/BaseChange.lean, line 689. The attribute's comment: “The equality of the source is an isomorphism of (S_q)^h-algebras Ssh ≃ₐ[Sh] Sh ⊗[Rh] Rsh compatible with the local map Rsh → Ssh over Rh inducing the identity of κ^sep (via eRsh, eSsh), which is part of the statement. Henselizations and strict henselizations are IsHenselization with residue field κ and κ^sep. All seven carriers — R, S, κ^sep, (R_p)^h, (S_q)^h, (R_p)^{sh}, (S_q)^{sh} — lie in mutually independent universes.”.
The strict henselization as a base change of the henselization (Stacks 0C2Z). Let
R → Sbe a ring map and letqbe a prime ofSlying over the primepofRsuch thatκ(p) → κ(q)is an isomorphism, and letκ^sepbe a separable algebraic closure ofκ(p) = κ(q). Let(R_p)^h → (S_q)^hbe henselizations overR_p → S_qand let(R_p)^{sh},(S_q)^{sh}be strict henselizations with respect toκ^sep. Then the local map(R_p)^{sh} → (S_q)^{sh}over(R_p)^hinducing the identity ofκ^sepidentifies(S_q)^{sh}with(S_q)^h ⊗_{(R_p)^h} (R_p)^{sh}.
theorem IsLocalRing.IsHenselization.exists_algEquiv_tensorProduct_strictHenselization_atPrime
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (p : Ideal R) (q : Ideal S)
[p.IsPrime] [q.IsPrime] [q.LiesOver p]
[Algebra (Localization.AtPrime p) (Localization.AtPrime q)]
[Localization.AtPrime.IsLiesOverAlgebra p q]
(hres : Function.Bijective
(ResidueField.map (algebraMap (Localization.AtPrime p) (Localization.AtPrime q))))
(ksep : Type w) [Field ksep] [Algebra (ResidueField (Localization.AtPrime p)) ksep]
[Algebra (ResidueField (Localization.AtPrime q)) ksep]
[IsSepClosure (ResidueField (Localization.AtPrime p)) ksep]
[IsSepClosure (ResidueField (Localization.AtPrime q)) ksep]
(hksep : ∀ a, algebraMap (ResidueField (Localization.AtPrime q)) ksep
(ResidueField.map (algebraMap (Localization.AtPrime p) (Localization.AtPrime q)) a) =
algebraMap (ResidueField (Localization.AtPrime p)) ksep a)
(Rh : Type x) [CommRing Rh] [IsLocalRing Rh] [Algebra (Localization.AtPrime p) Rh]
[IsHenselization (Localization.AtPrime p) (ResidueField (Localization.AtPrime p)) Rh]
(Sh : Type y) [CommRing Sh] [IsLocalRing Sh] [Algebra (Localization.AtPrime q) Sh]
[IsHenselization (Localization.AtPrime q) (ResidueField (Localization.AtPrime q)) Sh]
[Algebra (Localization.AtPrime p) Sh] [Algebra Rh Sh]
[IsScalarTower (Localization.AtPrime p) Rh Sh]
[IsScalarTower (Localization.AtPrime p) (Localization.AtPrime q) Sh]
[IsLocalHom (algebraMap Rh Sh)]
(Rsh : Type z) [CommRing Rsh] [IsLocalRing Rsh] [Algebra (Localization.AtPrime p) Rsh]
[Algebra Rh Rsh] [IsScalarTower (Localization.AtPrime p) Rh Rsh]
[IsHenselization (Localization.AtPrime p) ksep Rsh]
(Ssh : Type t) [CommRing Ssh] [IsLocalRing Ssh] [Algebra (Localization.AtPrime q) Ssh]
[Algebra Sh Ssh] [Algebra (Localization.AtPrime p) Ssh] [Algebra Rh Ssh]
[IsScalarTower (Localization.AtPrime q) Sh Ssh]
[IsScalarTower (Localization.AtPrime p) (Localization.AtPrime q) Ssh]
[IsScalarTower (Localization.AtPrime p) Rh Ssh] [IsScalarTower Rh Sh Ssh]
[IsHenselization (Localization.AtPrime q) ksep Ssh]
(eRsh : ksep ≃+* ResidueField Rsh)
(heRsh : ∀ a, eRsh (algebraMap (ResidueField (Localization.AtPrime p)) ksep
(residue (Localization.AtPrime p) a)) =
residue Rsh (algebraMap (Localization.AtPrime p) Rsh a))
(eSsh : ksep ≃+* ResidueField Ssh)
(heSsh : ∀ b, eSsh (algebraMap (ResidueField (Localization.AtPrime q)) ksep
(residue (Localization.AtPrime q) b)) =
residue Ssh (algebraMap (Localization.AtPrime q) Ssh b)) :
∃ g : Rsh →ₐ[Rh] Ssh, IsLocalHom g ∧
(∀ a, eSsh.symm (residue Ssh (g a)) = eRsh.symm (residue Rsh a)) ∧
∃ e : Ssh ≃ₐ[Sh] Sh ⊗[Rh] Rsh, ∀ a, e (g a) = Algebra.TensorProduct.includeRight a
Sources
Section10.156 Henselization and quasi-finite ring maps#
Section 10.156 of the Stacks Project, Tag 0GIN. 6 tags here are carried by 9 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05WP, a lemma
Tag 05WP in the Stacks Project.
IsLocalRing.IsHenselization.isLocalization_and_finite_of_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/QuasiFiniteRingMaps.lean, line 219. The attribute's comment: “The square of Lemma 04GS is the algebra structure algebraMap Rh Sh, local and compatible with R_p → S_q → S_q^h — conditions which by Lemma 04GS determine it — and the tensor product is any Algebra.IsPushout Rp Sq Rh T, whose map to S_q^h is the algebra structure algebraMap T Sh compatible with Rh and S_q. The prime generated by q is 𝔪_{S_q} T. Quasi-finiteness at q is Algebra.FiniteType R S with Algebra.QuasiFiniteAt R q, as in Lemma 04GH. See the module docstring.”.
Henselization and quasi-finite ring maps (Stacks 05WP). Let
R → Sbe of finite type, letqbe a prime ofSlying overp, and assumeR → Sis quasi-finite atq. LetRhandShbe henselizations ofR_pandS_q, letRh → Shbe the local ring map overR_p → S_qof Lemma 04GS, and letT = Rh ⊗_{R_p} S_q, mapping toShthrough the square. Then the ideal𝔪_{S_q} Tgenerated byqis prime,Shis the localization ofTat it, andShis finite overRh.
theorem isLocalization_and_finite_of_quasiFiniteAt
[Algebra.FiniteType R S] [Algebra.QuasiFiniteAt R q] :
∃ _ : ((maximalIdeal Sq).map (algebraMap Sq T)).IsPrime,
IsLocalization.AtPrime Sh ((maximalIdeal Sq).map (algebraMap Sq T)) ∧
Module.Finite Rh Sh
Tag 05WQ, a lemma
Tag 05WQ in the Stacks Project.
IsLocalRing.henselization_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/HenselizationQuotient.lean, line 260. The attribute's comment: “"Rh is the henselization of R" is the four-item package of Lemma 04GN, in the spelling of IsLocalRing.exists_henselization, both as hypothesis and as conclusion; I R^h is I.map (algebraMap R Rh), and the R/I-algebra structure on Rh/I Rh is the induced one, Ideal.Quotient.algebraQuotientOfLEComap Ideal.le_comap_map. See the module docstring.”.
Henselization is compatible with quotients (Stacks 05WQ). Let
(R, 𝔪, κ)be a local ring and letR → Rhbe a henselization ofR, that is:Rhis a henselian local ring, it is a filtered colimit of étaleR-algebras,𝔪 Rhis its maximal ideal, and its residue field isκ. LetI ⊆ 𝔪be an ideal. ThenRh/I Rhis a henselization ofR/I, for the inducedR/I-algebra structure: it is a henselian local ring, it is a filtered colimit of étaleR/I-algebras, the ideal generated by the image of𝔪/Iis its maximal ideal, and its residue field is againκ.
public theorem IsLocalRing.henselization_quotient {R Rh : Type u} [CommRing R] [CommRing Rh]
[IsLocalRing R] [Algebra R Rh] [HenselianLocalRing Rh] [IsLocalHom (algebraMap R Rh)]
(hind : (CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R Rh))
(hmax : (maximalIdeal R).map (algebraMap R Rh) = maximalIdeal Rh)
(hres : Function.Bijective (ResidueField.map (algebraMap R Rh)))
(I : Ideal R) (hI : I ≤ maximalIdeal R) :
letI : Algebra (R ⧸ I) (Rh ⧸ I.map (algebraMap R Rh)) :=
Ideal.Quotient.algebraQuotientOfLEComap Ideal.le_comap_map
∃ (_ : IsLocalRing (R ⧸ I)) (_ : IsLocalRing (Rh ⧸ I.map (algebraMap R Rh)))
(_ : IsLocalHom (algebraMap (R ⧸ I) (Rh ⧸ I.map (algebraMap R Rh)))),
HenselianLocalRing (Rh ⧸ I.map (algebraMap R Rh)) ∧
(CommAlgCat.etale.{u} (R ⧸ I)).ind.{u}
(CommAlgCat.of (R ⧸ I) (Rh ⧸ I.map (algebraMap R Rh))) ∧
(maximalIdeal (R ⧸ I)).map (algebraMap (R ⧸ I) (Rh ⧸ I.map (algebraMap R Rh))) =
maximalIdeal (Rh ⧸ I.map (algebraMap R Rh)) ∧
Function.Bijective
(ResidueField.map (algebraMap (R ⧸ I) (Rh ⧸ I.map (algebraMap R Rh))))
Tag 05WR, a lemma
Tag 05WR in the Stacks Project.
Algebra.IsPushout.strictHenselization_and_finite_of_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/QuasiFinite.lean, line 556. The attribute's comment: “Stated as the construction of S_q^{sh}: Ssh is the localization of the base change T at the prime ker π, and the conclusion is that it is a strict henselization of S_q — the items of Lemma 04GP, as in Lemmas 05WP and 05WS — with residue field κ₂, finite and local over R_p^{sh}, and that κ₂/κ₁ is finite purely inseparable. With the uniqueness of Lemma 08HT, which the source's proof invokes here too, this is the source's identification of S_q^{sh} with that localization; the top arrow of the source's square is algebraMap Rsh Ssh. κ₁ is ResidueField Rsh, and that its image in κ₂ is the separable subfield of Lemma 030K is a consequence, not a hypothesis. See the module docstring.”.
The strict henselization of
S_qfor a quasi-finite ring map (Stacks 05WR). LetR → Sbe of finite type, letqbe a prime ofSlying overpat whichR → Sis quasi-finite, and letRp,Sqbe the localizations. LetRshbe a strict henselization ofRp: henselian, ind-étale overRp, with maximal ideal generated by𝔪_{R_p}and residue fieldκ₁a separable algebraic closure ofκ(p). Letκ₂be a separable algebraic closure ofκ(q)containingκ₁, letTbe the base changeRsh ⊗_{Rp} Sqand letπ : T → κ₂be the map induced byRsh → κ₁ → κ₂andSq → κ(q) → κ₂. LetSshbe the localization ofTat the primeker π. ThenSshis finite overRshby a local ring map,Sq → Sshis a strict henselization ofSqwhose residue field isκ₂, andκ₂/κ₁is finite and purely inseparable.
theorem Algebra.IsPushout.strictHenselization_and_finite_of_quasiFiniteAt
{R S Rp Sq Rsh T Ssh κ₂ : Type u}
[CommRing R] [CommRing S] [CommRing Rp] [CommRing Sq] [CommRing Rsh] [CommRing T]
[CommRing Ssh] [Field κ₂] [Algebra R S]
(p : Ideal R) (q : Ideal S) [p.IsPrime] [q.IsPrime] [q.LiesOver p]
[Algebra.FiniteType R S] [Algebra.QuasiFiniteAt R q]
[Algebra R Rp] [IsLocalRing Rp] [IsLocalization.AtPrime Rp p]
[Algebra S Sq] [IsLocalRing Sq] [IsLocalization.AtPrime Sq q]
[Algebra R Sq] [Algebra Rp Sq] [IsScalarTower R S Sq] [IsScalarTower R Rp Sq]
[Algebra Rp Rsh] [HenselianLocalRing Rsh] [IsLocalHom (algebraMap Rp Rsh)]
[IsSepClosure (ResidueField Rp) (ResidueField Rsh)]
(hind : (CommAlgCat.etale.{u} Rp).ind.{u} (CommAlgCat.of Rp Rsh))
(hmax : (maximalIdeal Rp).map (algebraMap Rp Rsh) = maximalIdeal Rsh)
[Algebra (ResidueField Sq) κ₂] [IsSepClosure (ResidueField Sq) κ₂]
[Algebra (ResidueField Rsh) κ₂]
[Algebra Rp T] [Algebra Rsh T] [Algebra Sq T]
[IsScalarTower Rp Rsh T] [IsScalarTower Rp Sq T]
(hT : Algebra.IsPushout Rp Sq Rsh T)
(π : T →+* κ₂)
(hπRsh : π.comp (algebraMap Rsh T) = (algebraMap (ResidueField Rsh) κ₂).comp (residue Rsh))
(hπSq : π.comp (algebraMap Sq T) = (algebraMap (ResidueField Sq) κ₂).comp (residue Sq))
[(RingHom.ker π).IsPrime]
[Algebra T Ssh] [IsLocalRing Ssh] [IsLocalization.AtPrime Ssh (RingHom.ker π)]
[Algebra Sq Ssh] [Algebra Rsh Ssh] [IsScalarTower Sq T Ssh] [IsScalarTower Rsh T Ssh] :
∃ _ : IsLocalHom (algebraMap Sq Ssh),
Module.Finite Rsh Ssh ∧ IsLocalHom (algebraMap Rsh Ssh) ∧ HenselianLocalRing Ssh ∧
(CommAlgCat.etale.{u} Sq).ind.{u} (CommAlgCat.of Sq Ssh) ∧
(maximalIdeal Sq).map (algebraMap Sq Ssh) = maximalIdeal Ssh ∧
IsSepClosure (ResidueField Sq) (ResidueField Ssh) ∧
(∃ e : ResidueField Ssh ≃+* κ₂,
(e : ResidueField Ssh →+* κ₂).comp ((residue Ssh).comp (algebraMap T Ssh)) = π) ∧
Module.Finite (ResidueField Rsh) κ₂ ∧ IsPurelyInseparable (ResidueField Rsh) κ₂
Tag 05WS, a lemma
Tag 05WS in the Stacks Project.
IsLocalRing.strictHenselization_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/StrictHenselization/Quotient.lean, line 319. The attribute's comment: “"Rsh is a strict henselization of R" is the package of Lemma 04GP, in the shape IsLocalRing.exists_henselization (04GN) gives the henselization package, both as hypothesis and as conclusion; IsSepClosure κ κ_sh is items (2) and (5) together. I R^{sh} is I.map (algebraMap R Rsh), and the R/I-algebra structure on Rsh/I Rsh is Mathlib's induced one. See the module docstring.”.
Strict henselization is compatible with quotients (Stacks 05WS). Let
(R, 𝔪, κ)be a local ring and letR → Rshbe a strict henselization ofR, that is:Rshis a henselian local ring whose residue field is a separable algebraic closureκ^{sep}ofκ, it is a filtered colimit of étaleR-algebras, and𝔪 Rshis its maximal ideal. LetI ⊆ 𝔪be an ideal. ThenRsh/I Rshis a strict henselization ofR/I, for the inducedR/I-algebra structure: it is a henselian local ring, it is a filtered colimit of étaleR/I-algebras, the ideal generated by the image of𝔪/Iis its maximal ideal, and its residue field is again a separable algebraic closure ofκ.
public theorem IsLocalRing.strictHenselization_quotient {R Rsh : Type u} [CommRing R]
[CommRing Rsh] [IsLocalRing R] [Algebra R Rsh] [HenselianLocalRing Rsh]
[IsLocalHom (algebraMap R Rsh)] [IsSepClosure (ResidueField R) (ResidueField Rsh)]
(hind : (CommAlgCat.etale.{u} R).ind.{u} (CommAlgCat.of R Rsh))
(hmax : (maximalIdeal R).map (algebraMap R Rsh) = maximalIdeal Rsh)
(I : Ideal R) (hI : I ≤ maximalIdeal R) :
∃ (_ : IsLocalRing (R ⧸ I)) (_ : IsLocalRing (Rsh ⧸ I.map (algebraMap R Rsh)))
(_ : IsLocalHom (algebraMap (R ⧸ I) (Rsh ⧸ I.map (algebraMap R Rsh)))),
HenselianLocalRing (Rsh ⧸ I.map (algebraMap R Rsh)) ∧
(CommAlgCat.etale.{u} (R ⧸ I)).ind.{u}
(CommAlgCat.of (R ⧸ I) (Rsh ⧸ I.map (algebraMap R Rsh))) ∧
(maximalIdeal (R ⧸ I)).map (algebraMap (R ⧸ I) (Rsh ⧸ I.map (algebraMap R Rsh))) =
maximalIdeal (Rsh ⧸ I.map (algebraMap R Rsh)) ∧
IsSepClosure (ResidueField (R ⧸ I))
(ResidueField (Rsh ⧸ I.map (algebraMap R Rsh)))
Tag 092Y, a lemma
Tag 092Y in the Stacks Project.
isLocalRing_tensorProduct_of_isIntegral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/TensorProduct/LocalAlgebra.lean, line 497. References: EGA 0 (22.5.5), “partial”.
Stacks Tag 092Y. Let
A → BandA → Cbe local homomorphisms of local rings, withA → Cintegral and at least one of the induced residue field extensionsκ(m_C)/κ(m_A),κ(m_B)/κ(m_A)purely inseparable. ThenD = B ⊗_A Cis a local ring and the canonical mapsB → D,C → Dare local homomorphisms.
theorem isLocalRing_tensorProduct_of_isIntegral
(A B C : Type*) [CommRing A] [CommRing B] [CommRing C]
[IsLocalRing A] [IsLocalRing B] [IsLocalRing C]
[Algebra A B] [Algebra A C]
[IsLocalHom (algebraMap A B)] [IsLocalHom (algebraMap A C)]
[Algebra.IsIntegral A C]
(hins :
@IsPurelyInseparable (ResidueField A) (ResidueField C) _ _
(IsLocalRing.ResidueField.map (algebraMap A C)).toAlgebra ∨
@IsPurelyInseparable (ResidueField A) (ResidueField B) _ _
(IsLocalRing.ResidueField.map (algebraMap A B)).toAlgebra) :
IsLocalRing (TensorProduct A B C) ∧
IsLocalHom (Algebra.TensorProduct.includeLeftRingHom : B →+* TensorProduct A B C) ∧
IsLocalHom ((Algebra.TensorProduct.includeRight : C →ₐ[A] TensorProduct A B
C).toRingHom)
Tag 0GIP, a lemma
Tag 0GIP in the Stacks Project.
IsLocalRing.IsHenselization.bijective_tensorProduct_lift_of_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/QuasiFiniteRingMaps.lean, line 1132. The attribute's comment: “(1). The field κ is replaced by the prime P = ker(D → κ) of D: the statement is proved for all strict henselizations A^sh, B^sh, C^sh, D^sh of the localizations at the contractions of P and all local maps between them forming a commutative square over A → B, C → D, which includes the maps of Lemma 04GU attached to the embeddings of the residue fields in κ. The isomorphism is the bijectivity of Algebra.TensorProduct.lift of the two maps into D^sh, and D = B ⊗_A C is any Algebra.IsPushout A B C D. Quasi-finiteness at P ∩ B is Algebra.FiniteType A B with Algebra.QuasiFiniteAt A (P.under B), as in Lemma 04GH. See the module docstring.”.
Strict henselization and tensor products, quasi-finite case (Stacks 0GIP (1)). Let
D = B ⊗_A Cand letPbe a prime ofD, with contractions toA,B,C. LetA^sh,B^sh,C^sh,D^shbe strict henselizations of the localizations ofA,B,C,Dat these primes, with local ring maps forming a commutative square over the squareA → B, C → D. IfA → Bis of finite type and quasi-finite atP ∩ B, thenB^sh ⊗_{A^sh} C^sh → D^shis an isomorphism.
theorem bijective_tensorProduct_lift_of_quasiFiniteAt
{Ap : Type u} [CommRing Ap] [IsLocalRing Ap] [Algebra A Ap]
[IsLocalization.AtPrime Ap (P.under A)]
[Algebra Ap Ash] [IsScalarTower A Ap Ash] [IsLocalHom (algebraMap Ap Ash)]
[IsSepClosure (ResidueField Ap) (ResidueField Ash)] [IsHenselization Ap (ResidueField Ash) Ash]
[IsSepClosure (ResidueField Bp) (ResidueField Bsh)]
[IsLocalHom (algebraMap Ash Bsh)] [IsLocalHom (algebraMap Ash Csh)]
[IsLocalHom (algebraMap Csh Dsh)]
[Algebra.FiniteType A B] [Algebra.QuasiFiniteAt A (P.under B)] :
Function.Bijective (Algebra.TensorProduct.lift (IsScalarTower.toAlgHom Ash Bsh Dsh)
(IsScalarTower.toAlgHom Ash Csh Dsh) fun _ _ => .all _ _)
IsLocalRing.IsHenselization.bijective_tensorProduct_lift_of_ind_quasiFinite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/QuasiFiniteRingMaps.lean, line 1215. The attribute's comment: “(2). The field κ is replaced by the prime P = ker(D → κ) of D: the statement is proved for all strict henselizations A^sh, B^sh, C^sh, D^sh of the localizations at the contractions of P and all local maps between them forming a commutative square over A → B, C → D, which includes the maps of Lemma 04GU attached to the embeddings of the residue fields in κ. The isomorphism is the bijectivity of Algebra.TensorProduct.lift of the two maps into D^sh, and D = B ⊗_A C is any Algebra.IsPushout A B C D. "Filtered colimit of quasi-finite A-algebras" is ObjectProperty.ind in CommAlgCat A of Algebra.FiniteType A X ∧ Algebra.QuasiFinite A X. See the module docstring.”.
Strict henselization and tensor products, colimit case (Stacks 0GIP (2)). In the situation of Lemma 0GIP, if
Bis a filtered colimit of quasi-finiteA-algebras, thenB^sh ⊗_{A^sh} C^sh → D^shis an isomorphism.
theorem bijective_tensorProduct_lift_of_ind_quasiFinite
{Ap : Type u} [CommRing Ap] [IsLocalRing Ap] [Algebra A Ap]
[IsLocalization.AtPrime Ap (P.under A)]
[Algebra Ap Ash] [IsScalarTower A Ap Ash] [IsLocalHom (algebraMap Ap Ash)]
[IsSepClosure (ResidueField Ap) (ResidueField Ash)] [IsHenselization Ap (ResidueField Ash) Ash]
[IsSepClosure (ResidueField Bp) (ResidueField Bsh)]
[IsLocalHom (algebraMap Ash Bsh)] [IsLocalHom (algebraMap Ash Csh)]
[IsLocalHom (algebraMap Csh Dsh)]
(hB : (ObjectProperty.ind.{u} fun X : CommAlgCat.{u} A =>
Algebra.FiniteType A X ∧ Algebra.QuasiFinite A X) (CommAlgCat.of A B)) :
Function.Bijective (Algebra.TensorProduct.lift (IsScalarTower.toAlgHom Ash Bsh Dsh)
(IsScalarTower.toAlgHom Ash Csh Dsh) fun _ _ => .all _ _)
IsLocalRing.IsHenselization.bijective_tensorProduct_lift_of_ind_quasiFinite_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/QuasiFiniteRingMaps.lean, line 1244. The attribute's comment: “(3). The field κ is replaced by the prime P = ker(D → κ) of D: the statement is proved for all strict henselizations A^sh, B^sh, C^sh, D^sh of the localizations at the contractions of P and all local maps between them forming a commutative square over A → B, C → D, which includes the maps of Lemma 04GU attached to the embeddings of the residue fields in κ. The isomorphism is the bijectivity of Algebra.TensorProduct.lift of the two maps into D^sh, and D = B ⊗_A C is any Algebra.IsPushout A B C D. The filtered colimit is ObjectProperty.ind in CommAlgCat A_p of Algebra.FiniteType ∧ Algebra.QuasiFinite, for the given A_p-algebra structure on B_p over A → B. See the module docstring.”.
Strict henselization and tensor products, local colimit case (Stacks 0GIP (3)). In the situation of Lemma 0GIP, if
B_{P ∩ B}is a filtered colimit of quasi-finite algebras overA_{P ∩ A}, thenB^sh ⊗_{A^sh} C^sh → D^shis an isomorphism.
theorem bijective_tensorProduct_lift_of_ind_quasiFinite_localization
{Ap : Type u} [CommRing Ap] [IsLocalRing Ap] [Algebra A Ap]
[IsLocalization.AtPrime Ap (P.under A)]
[Algebra Ap Ash] [IsScalarTower A Ap Ash] [IsLocalHom (algebraMap Ap Ash)]
[IsSepClosure (ResidueField Ap) (ResidueField Ash)] [IsHenselization Ap (ResidueField Ash) Ash]
[IsSepClosure (ResidueField Bp) (ResidueField Bsh)]
[IsLocalHom (algebraMap Ash Bsh)] [IsLocalHom (algebraMap Ash Csh)]
[IsLocalHom (algebraMap Csh Dsh)]
[Algebra Ap Bp] [Algebra A Bp] [IsScalarTower A Ap Bp] [IsScalarTower A B Bp]
(hB : (ObjectProperty.ind.{u} fun X : CommAlgCat.{u} Ap =>
Algebra.FiniteType Ap X ∧ Algebra.QuasiFinite Ap X) (CommAlgCat.of Ap Bp)) :
Function.Bijective (Algebra.TensorProduct.lift (IsScalarTower.toAlgHom Ash Bsh Dsh)
(IsScalarTower.toAlgHom Ash Csh Dsh) fun _ _ => .all _ _)
IsLocalRing.IsHenselization.bijective_tensorProduct_lift_of_isIntegral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Henselian/QuasiFiniteRingMaps.lean, line 1345. The attribute's comment: “(4). The field κ is replaced by the prime P = ker(D → κ) of D: the statement is proved for all strict henselizations A^sh, B^sh, C^sh, D^sh of the localizations at the contractions of P and all local maps between them forming a commutative square over A → B, C → D, which includes the maps of Lemma 04GU attached to the embeddings of the residue fields in κ. The isomorphism is the bijectivity of Algebra.TensorProduct.lift of the two maps into D^sh, and D = B ⊗_A C is any Algebra.IsPushout A B C D. See the module docstring.”.
Strict henselization and tensor products, integral case (Stacks 0GIP (4)). In the situation of Lemma 0GIP, if
Bis integral overA, thenB^sh ⊗_{A^sh} C^sh → D^shis an isomorphism.
theorem bijective_tensorProduct_lift_of_isIntegral
{Ap : Type u} [CommRing Ap] [IsLocalRing Ap] [Algebra A Ap]
[IsLocalization.AtPrime Ap (P.under A)]
[Algebra Ap Ash] [IsScalarTower A Ap Ash] [IsLocalHom (algebraMap Ap Ash)]
[IsSepClosure (ResidueField Ap) (ResidueField Ash)] [IsHenselization Ap (ResidueField Ash) Ash]
[IsSepClosure (ResidueField Bp) (ResidueField Bsh)]
[IsLocalHom (algebraMap Ash Bsh)] [IsLocalHom (algebraMap Ash Csh)]
[IsLocalHom (algebraMap Csh Dsh)] [Algebra.IsIntegral A B] :
Function.Bijective (Algebra.TensorProduct.lift (IsScalarTower.toAlgHom Ash Bsh Dsh)
(IsScalarTower.toAlgHom Ash Csh Dsh) fun _ _ => .all _ _)
Sources
Section10.157 Serre's criterion for normality#
Section 10.157 of the Stacks Project, Tag 031O. 6 tags here are carried by 9 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 031P, a definition
Tag 031P in the Stacks Project.
HasPropertyRk, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Defs.lean, line 104. The attribute's comment: “Rk”. References: EGA IV (5.8.2), “affine case”; EGA IV (7.5.3), “partial”.
Property
(Rₖ): every prime𝔭ofAof height at mostkhas regular localizationA_𝔭. Asheight 𝔭 = dim A_𝔭, this is regularity ofAin codimension at mostk.
def HasPropertyRk (A : Type*) [CommRing A] (k : ℕ) : Prop
PropertySkRing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Defs.lean, line 113. The attribute's comment: “Sk ring”. References: EGA IV (5.7.2), “special case”; EGA IV (5.7.3), “special case”; EGA IV (7.5.3).
Property
(Sₖ)for a Noetherian commutative ringR: at every prime𝔭the depth of the localizationR_𝔭is at leastmin(k, dim R_𝔭).
def PropertySkRing (R : Type*) [CommRing R] [IsNoetherianRing R] (k : ℕ) : Prop
PropertySkModule, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Defs.lean, line 124. The attribute's comment: “Sk module”. References: EGA IV (5.7.2), “special case”; EGA IV (5.7.3); EGA IV (7.5.3), “more general”.
Property
(Sₖ)for a finite moduleMover a Noetherian commutative ringR: at every prime𝔭the depth of the localizationM_𝔭is at leastmin(k, dim Supp(M_𝔭)).
def PropertySkModule (R : Type*) [CommRing R] [IsNoetherianRing R]
(M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M] (k : ℕ) : Prop
propertySkRing_of_ringEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/RingEquiv.lean, line 71. The attribute's comment: “Sk ring, isomorphism invariance”.
Serre's condition
(Sₖ)is invariant under an isomorphism of rings. A prime of the target pulls back along the isomorphism,Localization.localRingEquividentifies the two localizations, and both the Krull dimension and the depth are invariant under that isomorphism.
public theorem propertySkRing_of_ringEquiv {A : Type u} {B : Type v}
[CommRing A] [CommRing B] [IsNoetherianRing A] [IsNoetherianRing B]
(e : A ≃+* B) (k : ℕ) (h : PropertySkRing A k) : PropertySkRing B k
Tag 031Q, a lemma
Tag 031Q in the Stacks Project.
Module.forall_minimal_mem_associatedPrimes_iff_min_one_supportDim_le_depth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Defs.lean, line 356. The attribute's comment: “Property (S₁) is spelled out as the inequality min{1, dim Supp(M_𝔭)} ≤ depth_{𝔭R_𝔭}(M_𝔭) of Definition 031P at k = 1 rather than as PropertySkModule R M 1, whose depth and dimension truncate the conventions this statement needs; having no embedded associated prime is spelled out with Minimal, as in tag 02M6; and the localizations are the canonical models Localization.AtPrime and LocalizedModule, indexed by PrimeSpectrum R as in Definition 0AAH. See the module docstring.”.
Let
Rbe a Noetherian ring and letMbe a finiteR-module. ThenMhas no embedded associated prime — that is, every associated prime ofMis minimal among the associated primes ofM— if and only ifMhas property(S₁): for every prime𝔭ofRthe depth of theR_𝔭-moduleM_𝔭along𝔭R_𝔭is at leastmin{1, dim Supp(M_𝔭)}, the inequality being read inWithBot ℕ∞. Concretely the right-hand side says thatdepth(M_𝔭) ≥ 1at every prime𝔭withdim Supp(M_𝔭) ≥ 1.
public theorem forall_minimal_mem_associatedPrimes_iff_min_one_supportDim_le_depth
{R : Type*} [CommRing R] [IsNoetherianRing R]
{M : Type*} [AddCommGroup M] [Module R M] [Module.Finite R M] :
(∀ p ∈ associatedPrimes R M, Minimal (· ∈ associatedPrimes R M) p) ↔
∀ p : PrimeSpectrum R,
min 1 (supportDim (Localization.AtPrime p.asIdeal)
(LocalizedModule p.asIdeal.primeCompl M)) ≤
(depth (Localization.AtPrime p.asIdeal)
(IsLocalRing.maximalIdeal (Localization.AtPrime p.asIdeal))
(LocalizedModule p.asIdeal.primeCompl M) : WithBot ℕ∞)
Tag 031R, a lemma
Tag 031R in the Stacks Project.
isReduced_iff_hasR0_and_hasS1, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Reduced.lean, line 405. References: EGA IV (12.1.8), “more general”; EGA IV (3.2.1), “a), special case”; EGA IV (5.8.5), “special case”; EGA IV (7.3.9), “(i), special case”.
Stacks Tag 031R (Lemma 10.157.3, Serre's criterion). A Noetherian ring
Ris reduced if and only if it has both property(R_0)and property(S_1).
theorem isReduced_iff_hasR0_and_hasS1 (R : Type*) [CommRing R] [IsNoetherianRing R] :
IsReduced R ↔ HasR0 R ∧ HasS1 R
Tag 031S, a lemma
Tag 031S in the Stacks Project.
isDomain_and_isIntegrallyClosed_atPrime_iff_isRegularLocalRing_and_min_two_le_depth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Criterion.lean, line 886. The attribute's comment: “Normality is inlined as IsDomain plus IsIntegrallyClosed on Localization.AtPrime 𝔭 for every prime 𝔭, as in item (1) of tag 030C, Mathlib having no predicate for a normal ring; properties (R_1) and (S_2) are spelled out from Definition 031P at k = 1 and k = 2 with Ideal.height, IsRegularLocalRing, ringKrullDim and Module.depth (tag 00LI), the depth inequality being read in WithBot ℕ∞. See the module docstring.”. References: EGA IV (5.8.6), “affine case”; SGA 2 XI (3.11), “more general”.
Stacks Tag 031S (Serre's criterion for normality). Let
Rbe a Noetherian ring. ThenRis a normal ring — every localizationR_𝔭at a prime is a domain integrally closed in its fraction field — if and only ifRhas properties(R_1)and(S_2): the local ringR_𝔭is regular for every prime𝔭of height≤ 1, anddepth(R_𝔭) ≥ min{2, dim(R_𝔭)}for every prime𝔭, the latter inequality being read inWithBot ℕ∞.
public theorem isDomain_and_isIntegrallyClosed_atPrime_iff_isRegularLocalRing_and_min_two_le_depth
{R : Type*} [CommRing R] [IsNoetherianRing R] :
(∀ (p : Ideal R) [p.IsPrime],
IsDomain (Localization.AtPrime p) ∧ IsIntegrallyClosed (Localization.AtPrime p)) ↔
(∀ (p : Ideal R) [p.IsPrime], p.height ≤ 1 →
IsRegularLocalRing (Localization.AtPrime p)) ∧
∀ (p : Ideal R) [p.IsPrime],
min 2 (ringKrullDim (Localization.AtPrime p)) ≤
(Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p))
(Localization.AtPrime p) : WithBot ℕ∞)
Tag 0567, a lemma
Tag 0567 in the Stacks Project.
main_theorem0567, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/IntegrallyClosed/Stability.lean, line 64. References: EGA II (7.1.6), “more general”; EGA IV (6.13.1), “special case”; EGA IV (7.3.9), “(i): (iv) implies (vii)”.
A regular ring is normal.
theorem main_theorem0567 (R : Type*) [CommRing R] [IsRegularRing R] :
IsNormalRing R
Tag 031T, a lemma
Tag 031T in the Stacks Project.
associatedPrimes_minimal_and_height_eq_one_and_iInf_localization_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/Defs.lean, line 552. The attribute's comment: “A normal domain is IsDomain plus IsIntegrallyClosed, as in Definition 0309; having no embedded primes is spelled with Minimal, as in tags 02M6 and 031Q; item (2) is the equality ⨅ 𝔭, R_𝔭 = ⊥ of R-subalgebras of K, as in IsDedekindDomain.HeightOneSpectrum.iInf_localization_eq_bot; and R ∩ xR is the pullback of xR ⊆ K along Algebra.linearMap R K. See the module docstring.”. References: EGA 0 (23.2.9), “A normal (A = A')”; EGA IV (7.8.3), “(viii), special case”.
Let
Rbe a Noetherian normal domain with fraction fieldK. Then (1) for every nonzeroa : Reach associated prime ofR/aRis minimal among the associated primes ofR/aR— that is,R/aRhas no embedded primes — and has height1; (2)Ris the intersection, insideK, of the subalgebrasR_𝔭over the primes𝔭of height1; and (3) the same as (1) for the idealR ∩ xRattached to a nonzerox : K.
public theorem associatedPrimes_minimal_and_height_eq_one_and_iInf_localization_eq_bot
{R : Type*} [CommRing R] [IsDomain R] [IsNoetherianRing R] [IsIntegrallyClosed R]
(K : Type*) [Field K] [Algebra R K] [IsFractionRing R K] :
(∀ a : R, a ≠ 0 → ∀ p ∈ associatedPrimes R (R ⧸ Ideal.span {a}),
Minimal (· ∈ associatedPrimes R (R ⧸ Ideal.span {a})) p ∧ p.height = 1) ∧
((⨅ p : PrimeSpectrum R, ⨅ _ : p.asIdeal.height = 1,
Localization.subalgebra.ofField K _ p.asIdeal.primeCompl_le_nonZeroDivisors) = ⊥) ∧
(∀ x : K, x ≠ 0 →
∀ p ∈ associatedPrimes R
(R ⧸ ((Submodule.span R {x}).comap (Algebra.linearMap R K) : Ideal R)),
Minimal (· ∈ associatedPrimes R
(R ⧸ ((Submodule.span R {x}).comap (Algebra.linearMap R K) : Ideal R))) p ∧
p.height = 1)
Sources
Section10.158 Formal smoothness of fields#
Section 10.158 of the Stacks Project, Tag 031U. 11 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 090W, a lemma
Tag 090W in the Stacks Project.
Algebra.FormallyUnramified.tfae_isSeparable_unramified_etale, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Unramified/Field.lean, line 244. The attribute's comment: “The six items are the entries, in the source's order, of one List.TFAE. A finitely generated field extension is Algebra.EssFiniteType, Ω[K⁄k] = 0 is Subsingleton Ω[K⁄k], and étale is Mathlib's formally étale plus finite presentation, which is the source's Definition 00U1 by its Lemma 00UR. See the module docstring.”. References: EGA 0 (21.7.4), “more general”; EGA 0 (19.10.3), “(iii)”; EGA IV (17.4.2), “field extension K/k”; EGA IV (17.4.1), “field extension case”; EGA IV (17.15.11), “X = Spec of a field”; EGA 0 (21.7.4), “more general”; SGA 1 I (3.1), “(i)<=>(ii), field ext”; SGA 3 XI (1.3), “field extension case”.
Stacks 090W. Let
K/kbe a finitely generated field extension. The following are equivalent:
Kis a finite separable field extension ofk;Ω[K⁄k] = 0;Kis formally unramified overk;Kis unramified overk;Kis formally étale overk;Kis étale overk.
public theorem Algebra.FormallyUnramified.tfae_isSeparable_unramified_etale
(k K : Type*) [Field k] [Field K] [Algebra k K] [Algebra.EssFiniteType k K] :
List.TFAE
[Module.Finite k K ∧ Algebra.IsSeparable k K,
Subsingleton Ω[K⁄k],
Algebra.FormallyUnramified k K,
Algebra.Unramified k K,
Algebra.FormallyEtale k K,
Algebra.Etale k K]
Tag 031W, a lemma
Tag 031W in the Stacks Project.
KaehlerDifferential.D_eq_zero_iff_exists_pow_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/PerfectField.lean, line 237. The attribute's comment: “The source's d a = 0 in Ω_{K/k} is KaehlerDifferential.D k K a = 0 and a is a p-th power is ∃ b, b ^ p = a; characteristic p > 0 is [Fact p.Prime] [CharP k p] on the base. See the module docstring.”. References: EGA 0 (21.4.4), “more general”; EGA 0 (21.4.6), “(a) ⇔ (b), special case”.
Vanishing differentials over a perfect field are
p-th powers. Letkbe a perfect field of characteristicp > 0, letK/kbe a field extension and leta : K. Thend a = 0inΩ[K⁄k]if and only ifais ap-th power inK. Equivalently, the kernel of the universalk-derivationd : K → Ω[K⁄k]is the subfield ofp-th powers ofK.
public theorem KaehlerDifferential.D_eq_zero_iff_exists_pow_eq {k K : Type*} [Field k] [Field K]
[Algebra k K] [PerfectField k] (p : ℕ) [Fact p.Prime] [CharP k p] (a : K) :
KaehlerDifferential.D k K a = 0 ↔ ∃ b : K, b ^ p = a
Tag 07DZ, a lemma
Tag 07DZ in the Stacks Project.
IntermediateField.finrank_adjoin_eq_pow_of_linearIndependent_D, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/PthRoots.lean, line 196. The attribute's comment: “The source's Ω_{k/𝔽_p} is Ω[k⁄ZMod p], characteristic p > 0 is [Fact p.Prime] [Algebra (ZMod p) k], and k(a_1^{1/p}, …, a_n^{1/p}) is IntermediateField.adjoin k (Set.range b) for a family b of p-th roots in an ambient extension K/k, which is unique since Frobenius is injective. See the module docstring.”.
Adjoining
p-th roots of elements with independent differentials. Letkbe a field of characteristicp > 0and leta : ι → kbe a finite family such that the differentialsd aᵢare linearly independent inΩ[k⁄𝔽_p]. Ifb : ι → Kis a family ofp-th roots of theaᵢin an extension fieldK/k, then the field extensionk(a_1^{1/p}, …, a_n^{1/p}) = k(bᵢ : i)has degreep ^ #ιoverk.
public theorem IntermediateField.finrank_adjoin_eq_pow_of_linearIndependent_D {k K : Type*}
[Field k] [Field K] (p : ℕ) [Fact p.Prime] [Algebra (ZMod p) k] [Algebra k K] {ι : Type*}
[Fintype ι] (a : ι → k) (b : ι → K) (hb : ∀ i, b i ^ p = algebraMap k K (a i))
(h : LinearIndependent k fun i ↦ KaehlerDifferential.D (ZMod p) k (a i)) :
Module.finrank k (IntermediateField.adjoin k (Set.range b)) = p ^ Fintype.card ι
Tag 031X, a lemma
Tag 031X in the Stacks Project.
Algebra.isSeparableExtension_iff_injective_mapBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/KaehlerDifferential/Separable.lean, line 411. The attribute's comment: “Differentials are taken over 𝐙, which for a field of characteristic p is the source's 𝐅_p, and the characteristic hypothesis is dropped: both conditions hold outright in characteristic zero, and the consumers (Lemmas 031Y, 0321 and Proposition 0322) are stated for all characteristics. See the module docstring.”. References: EGA 0 (20.6.3).
A field extension
K/kis separable in the sense ofAlgebra.IsSeparableExtensionif and only if the canonical mapK ⊗_k Ω_{k/𝐙} → Ω_{K/𝐙}is injective.
public theorem Algebra.isSeparableExtension_iff_injective_mapBaseChange (k K : Type*) [Field k]
[Field K] [Algebra k K] :
Algebra.IsSeparableExtension k K ↔
Function.Injective (KaehlerDifferential.mapBaseChange ℤ k K)
Tag 031Y, a lemma
Tag 031Y in the Stacks Project.
Algebra.FormallySmooth.isSeparableExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Field.lean, line 261. The attribute's comment: “Separability is Algebra.IsSeparableExtension (Definition 030O(2)), not Mathlib's Algebra.IsSeparable, which asks the extension to be algebraic and would make the statement false for purely transcendental extensions. See the module docstring.”. References: EGA 0 (19.6.1), “necessity”; EGA 0 (19.0.2), “necessity”.
Let
K/kbe an extension of fields. IfKis formally smooth overk, thenKis a separable extension ofk: every subextension ofK/kfinitely generated overkhas a separating transcendence basis.
public theorem Algebra.FormallySmooth.isSeparableExtension (k K : Type*) [Field k] [Field K]
[Algebra k K] [Algebra.FormallySmooth k K] : Algebra.IsSeparableExtension k K
Tag 031Z, a lemma
Tag 031Z in the Stacks Project.
Algebra.formallySmooth_iff_subsingleton_h1Cotangent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/FieldCotangent.lean, line 56. The attribute's comment: “Stated for a field K over an arbitrary commutative base ring R; the source's base field k is the case R := k, and no hypothesis on the base is used. H_1(L_{K/k}) = 0 is Subsingleton (Algebra.H1Cotangent R K). See the module docstring.”.
A field
Kwhich is an algebra over a commutative ringRis formally smooth overRif and only ifH¹(L_{K/R}) = 0.
public theorem Algebra.formallySmooth_iff_subsingleton_h1Cotangent
(R K : Type*) [CommRing R] [Field K] [Algebra R K] :
Algebra.FormallySmooth R K ↔ Subsingleton (Algebra.H1Cotangent R K)
Tag 0320, a lemma
Tag 0320 in the Stacks Project.
Algebra.FormallySmooth.of_algebraicIndependent_and_of_isSeparable_and_of_isSeparableExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Field.lean, line 223. The attribute's comment: “The source's parts (1), (2), (3) are the conjuncts .1, .2.1, .2.2. Purely transcendental is AlgebraicIndependent together with IntermediateField.adjoin k s = ⊤, as in the Mathlib sibling Algebra.FormallySmooth.of_algebraicIndependent; separable algebraic is Algebra.IsSeparable; separable is Algebra.IsSeparableExtension, Definition 030O(2), which does not presuppose algebraicity. See the module docstring.”. References: EGA 0 (19.6.1), “sufficiency”; EGA 0 (21.5.1), “more general”; EGA 0 (21.5.1), “more general”; EGA 0 (19.0.2), “sufficiency”; EGA 0 (22.2.1), “special case”.
Let
K/kbe an extension of fields. ThenKis formally smooth overkin each of the following three cases: (1)Kis purely transcendental overk, that is,Kis generated as an intermediate field by an algebraically independent set; (2)Kis separable algebraic overk; (3)Kis separable overkin the sense ofAlgebra.IsSeparableExtension.
public theorem
Algebra.FormallySmooth.of_algebraicIndependent_and_of_isSeparable_and_of_isSeparableExtension
(k K : Type*) [Field k] [Field K] [Algebra k K] :
(∀ s : Set K, AlgebraicIndependent k ((↑) : s → K) → IntermediateField.adjoin k s = ⊤ →
Algebra.FormallySmooth k K) ∧
(Algebra.IsSeparable k K → Algebra.FormallySmooth k K) ∧
(Algebra.IsSeparableExtension k K → Algebra.FormallySmooth k K)
Tag 0321, a lemma
Tag 0321 in the Stacks Project.
Algebra.FormallySmooth.iff_isSeparableExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Field.lean, line 294. The attribute's comment: “Separability is Algebra.IsSeparableExtension, Definition 030O (2), which does not presuppose algebraicity and so is not Algebra.IsSeparable; formal smoothness is Algebra.FormallySmooth, Definition 00TI. The characteristic split is dropped: both implications hold in every characteristic (the source's proof is combine Lemmas 031Y and 0320, neither of which mentions the characteristic), so part (2) is this equivalence and part (1) is it together with the characteristic-zero case of Lemma 030Z. See the module docstring.”. References: EGA 0 (19.6.1); EGA 0 (21.5.1), “more general”; EGA 0 (21.5.1), “more general”; EGA 0 (19.0.2).
A field extension
K/kis formally smooth overkif and only if it is separable overkin the sense ofAlgebra.IsSeparableExtension.
public theorem Algebra.FormallySmooth.iff_isSeparableExtension (k K : Type*) [Field k] [Field K]
[Algebra k K] : Algebra.FormallySmooth k K ↔ Algebra.IsSeparableExtension k K
Tag 0322, a proposition
Tag 0322 in the Stacks Project.
Algebra.isSeparableExtension_of_charZero_and_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Field.lean, line 509. The attribute's comment: “The equivalences are stated uniformly in the characteristic: k^{1/p} is AdjoinPthRoots k for the exponential characteristic, which in characteristic zero makes the second condition, hence all of them, automatic, and the source's characteristic-zero list is recovered. Differentials are taken over 𝐙 in both characteristics. See the module docstring.”. References: EGA 0 (20.6.3).
Let
K/kbe a field extension. If the characteristic ofkis zero thenKis separable overk; and, in any characteristic, the following are equivalent:Kis separable overk, the ringK ⊗_k k^{1/p}is reduced for the exponential characteristicpofk,Kis geometrically reduced overk, the mapK ⊗_k Ω_{k/𝐙} → Ω_{K/𝐙}is injective,H_1(L_{K/k}) = 0, andKis formally smooth overk.
public theorem Algebra.isSeparableExtension_of_charZero_and_tfae (k K : Type*) [Field k] [Field K]
[Algebra k K] :
(CharZero k → Algebra.IsSeparableExtension k K) ∧
List.TFAE
[Algebra.IsSeparableExtension k K,
IsReduced (K ⊗[k] AdjoinPthRoots k),
Algebra.IsGeometricallyReduced k K,
Function.Injective (KaehlerDifferential.mapBaseChange ℤ k K),
Subsingleton (Algebra.H1Cotangent k K),
Algebra.FormallySmooth k K]
Tag 037X, a lemma
Tag 037X in the Stacks Project.
Algebra.IsSeparableExtension.tfae_exists_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/Field.lean, line 318. References: SGA 1 II (5.7), “partial”.
A finitely generated field extension is separable if and only if it is the localization of a smooth algebra. For a finitely generated field extension
K/kthe following are equivalent:K/kis separable; some smoothk-subalgebra ofKhasKas its fraction field; some smoothk-algebra hasKas a localization.
public theorem Algebra.IsSeparableExtension.tfae_exists_smooth
(k : Type*) (K : Type v) [Field k] [Field K] [Algebra k K] [Algebra.EssFiniteType k K] :
List.TFAE
[Algebra.IsSeparableExtension k K,
∃ R : Subalgebra k K, Algebra.Smooth k R ∧ IsFractionRing R K,
∃ (R : Type v) (_ : CommRing R) (_ : Algebra k R) (_ : Algebra R K)
(_ : IsScalarTower k R K) (S : Submonoid R),
Algebra.Smooth k R ∧ IsLocalization S K]
Tag 07BV, a lemma
Tag 07BV in the Stacks Project.
Subalgebra.directedOn_isGlobalCompleteIntersectionOver_and_exists_mem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/FieldExtensionCompleteIntersectionColimit.lean, line 472. The attribute's comment: “First part. The filtered colimit is the directed union of the global complete intersection k-subalgebras of K; see the module docstring.”.
Stacks 07BV, first part. Every field extension
K/kis a filtered colimit of global complete intersection algebras overk: thek-subalgebras ofKthat are global complete intersections overkform a directed family whose union isK.
theorem Subalgebra.directedOn_isGlobalCompleteIntersectionOver_and_exists_mem
(k K : Type*) [Field k] [Field K] [Algebra k K] :
DirectedOn (· ≤ ·) {A : Subalgebra k K | IsGlobalCompleteIntersectionOver k A} ∧
∀ x : K, ∃ A ∈ {A : Subalgebra k K | IsGlobalCompleteIntersectionOver k A}, x ∈ A
Subalgebra.directedOn_smooth_and_exists_mem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/FieldExtensionCompleteIntersectionColimit.lean, line 484. The attribute's comment: “Second part. The filtered colimit is the directed union of the smooth k-subalgebras of K; see the module docstring.”.
Stacks 07BV, second part. A separable field extension
K/kis a filtered colimit of smoothk-algebras: the smoothk-subalgebras ofKform a directed family whose union isK.
theorem Subalgebra.directedOn_smooth_and_exists_mem
(k K : Type*) [Field k] [Field K] [Algebra k K] [Algebra.IsSeparableExtension k K] :
DirectedOn (· ≤ ·) {A : Subalgebra k K | Algebra.Smooth k A} ∧
∀ x : K, ∃ A ∈ {A : Subalgebra k K | Algebra.Smooth k A}, x ∈ A
Sources
Section10.159 Constructing flat ring maps#
Section 10.159 of the Stacks Project, Tag 03C2. 4 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 03C3, a lemma
Tag 03C3 in the Stacks Project.
IsLocalRing.exists_flat_residueField_algEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FiniteFreeResidueExtension.lean, line 965. The attribute's comment: “The lemma's preamble, a local ring R' and a local ring map R → R', is the Algebra R R', IsLocalRing R' and IsLocalHom (algebraMap R R') binders; the conjuncts are flatness, 𝔪' = 𝔪 R' as Ideal.map, and k' ≅ K as an extension of k as an ≃ₐ[ResidueField R]. K is allowed to live in a universe of its own, the source's case being v = u. See the module docstring.”. References: EGA 0 (10.3.1), “flat local ext, k'≅K”; EGA III (4.3.4), “partial”; SGA 3 V (4.1.2), “first assertion”.
A residue field extension is realized by a flat local ring map (Stacks 03C3). Let
(R, 𝔪, k)be a local ring and letKbe a field extension ofk. Then there is a local ring(R', 𝔪', k')and a local ring mapR → R'such thatR'is flat overR,𝔪' = 𝔪 R', andk'is isomorphic toKas an extension ofk.
theorem IsLocalRing.exists_flat_residueField_algEquiv (R : Type u) [CommRing R]
[IsLocalRing R] (K : Type v) [Field K] [Algebra (ResidueField R) K] :
∃ (R' : Type (max u v)) (_ : CommRing R') (_ : Algebra R R') (_ : IsLocalRing R')
(_ : IsLocalHom (algebraMap R R')),
Module.Flat R R' ∧
(maximalIdeal R).map (algebraMap R R') = maximalIdeal R' ∧
Nonempty (ResidueField R' ≃ₐ[ResidueField R] K)
Tag 09E0, a lemma
Tag 09E0 in the Stacks Project.
IsLocalRing.exists_finiteEtale_directed_residueField_algEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/ResidueFieldColimit.lean, line 1111. The attribute's comment: “The source's directed set I and system of finite étale extensions R ⊂ R_i with R' = colim R_i appear as a directed family 𝒮 of finite étale local R-subalgebras of R' covering R', which is equivalent since the transition maps of such a system are injective. K is allowed to live in a universe of its own, the source's case being v = u. See the module docstring.”. References: EGA IV (18.8.6), “(18.8.6.2)”.
A separable algebraic residue field extension is realized by a colimit of finite étale extensions (Stacks 09E0). Let
(R, 𝔪, k)be a local ring and letKbe a separable algebraic extension ofk. Then there are a local ringR', a local ring mapR → R', and a directed family𝒮ofR-subalgebras ofR'whose union isR', each a local ring finite étale overR, such that the residue field ofR'is isomorphic toKas an extension ofk.
public theorem IsLocalRing.exists_finiteEtale_directed_residueField_algEquiv (R : Type u)
[CommRing R] [IsLocalRing R] (K : Type v) [Field K] [Algebra (ResidueField R) K]
[Algebra.IsSeparable (ResidueField R) K] :
∃ (R' : Type (max u v)) (_ : CommRing R') (_ : Algebra R R') (_ : IsLocalRing R')
(_ : IsLocalHom (algebraMap R R')) (𝒮 : Set (Subalgebra R R')),
DirectedOn (· ≤ ·) 𝒮 ∧
(∀ x : R', ∃ S ∈ 𝒮, x ∈ S) ∧
(∀ S ∈ 𝒮, Module.Finite R S ∧ Algebra.Etale R S ∧ IsLocalRing S) ∧
Nonempty (ResidueField R' ≃ₐ[ResidueField R] K)
Tag 07NE, a lemma
Tag 07NE in the Stacks Project.
exists_isFiniteFree_residueField_equiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FiniteFreeResidueExtension.lean, line 651. References: SGA 3 V (4.1.2), “finite K/k case”.
Stacks Tag 07NE (Lemma 10.159.3). Given a commutative ring
R, a primep, and a finite field extensionL / κ(p), there exist a commutative ringSand a finite free ring mapφ : R →+* Ssuch that, withq := pS = Ideal.map φ p: *qis prime; *qlies overp(p = q.comap φ); * the induced residue field extensionκ(q) / κ(p)isκ(p)-isomorphic toL / κ(p), i.e. there is a ring isomorphismΦ : κ(q) ≃+* Lwhose composite with the induced mapκ(p) → κ(q)equals the structure mapκ(p) → L.
theorem exists_isFiniteFree_residueField_equiv.{u, v}
(R : Type u) [CommRing R] (p : Ideal R) [hp : p.IsPrime]
(L : Type v) [Field L] [Algebra (ResidueFieldAtPrime R p) L]
[Module.Finite (ResidueFieldAtPrime R p) L] :
∃ (S : Type u) (_ : CommRing S) (φ : R →+* S),
IsFiniteFree φ ∧
∃ (_ : (Ideal.map φ p).IsPrime) (hpq : p = (Ideal.map φ p).comap φ),
∃ (Φ : ResidueFieldAtPrime S (Ideal.map φ p) ≃+* L),
(Φ.toRingHom.comp (inducedResidueMap φ p (Ideal.map φ p) hpq) :
ResidueFieldAtPrime R p →+* L) = algebraMap (ResidueFieldAtPrime R p) L
Tag 0GIL, a lemma
Tag 0GIL in the Stacks Project.
Stacks.Flatness.SmallSubalgebras.directedOn_flatSmallSubalgebras, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Colimit.lean, line 357.
(Directedness). The family
Fof flatA-subalgebras of cardinality≤ κis directed under inclusion.
theorem directedOn_flatSmallSubalgebras
(hB : Module.Flat A B) :
DirectedOn (· ≤ ·) (flatSmallSubalgebras A B)
Stacks.Flatness.SmallSubalgebras.sSup_flatSmallSubalgebras, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Colimit.lean, line 387.
(Covering, supremum form). The supremum (union) of the family
Fis all ofB.
theorem sSup_flatSmallSubalgebras
(hB : Module.Flat A B) :
sSup (flatSmallSubalgebras A B) = ⊤
Stacks.Flatness.SmallSubalgebras.faithfullyFlat_of_mem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Colimit.lean, line 398.
(Corollary / remark). Any member of
Fis faithfully flat overAwheneverBis faithfully flat overA.
theorem faithfullyFlat_of_mem
(hB : Module.FaithfullyFlat A B)
(B' : Subalgebra A B) (hB' : B' ∈ flatSmallSubalgebras A B) :
Module.FaithfullyFlat A B'
Sources
Section10.160 The Cohen structure theorem#
Section 10.160 of the Stacks Project, Tag 0323. 12 tags here are carried by 13 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0323, the section
Tag 0323 in the Stacks Project.
IsLocalRing.isAdicComplete_maximalIdeal_iff_forall_compatible_existsUnique_mk_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/InverseLimitCharacterization.lean, line 122. The attribute's comment: “0323 is the label of the heading \section{The Cohen structure theorem}, not of a mathematical statement: it has no hypotheses and no conclusion, so NO single theorem can be a faithful formalization of it, and this attribute is placed under the project's rule that a tag which is not a statement as written is carried in corrected form with the correction recorded. The correction: 0323 is carried here, on the section's OPENING NOTION — the section begins Here is a fundamental notion in commutative algebra and then states Definition 0324, the definition of a complete local ring, which is what this declaration characterizes — and the section's remaining eleven labelled items are carried at their own tags elsewhere in this library, not here. Namely: 032A, the Cohen structure theorem itself, on IsLocalRing.exists_isCoefficientRing_and_exists_surjective_mvPowerSeries in StacksFrontier.RingTheory.CompleteLocalRing.CohenStructureTheorem; 032D on IsLocalRing.exists_injective_finite_mvPowerSeries in the same module; 0C0S, the power series description of a regular complete local ring, on IsRegularLocalRing.nonempty_ringEquiv_and_algEquiv_mvPowerSeries in StacksFrontier.RingTheory.CompleteLocalRing.Regular; 0325 on quotient_isNoetherianCompleteLocalRing and finite_isProduct_isNoetherianCompleteLocalRing, and 032B on complete_local_ring_noetherian, all in StacksFrontier.RingTheory.CompleteLocalRing.Noetherian; 0326 on LocalSubring.IsCoefficientRing in StacksFrontier.RingTheory.CompleteLocalRing.CoefficientRing; 0327 on the class IsCohenRing, 0328 on IsCohenRing.exists_residueField_ringEquiv and 0329 on IsCohenRing.formallySmooth_quotient_span_pow, all in StacksFrontier.RingTheory.CohenRing; and 032C on isUniversallyCatenary_of_isPrecomplete_maximalIdeal in StacksFrontier.RingTheory.Catenary.Formal. With 0324 carried here, every labelled item of the section now has a carrier and only the heading itself had none.”.
A local ring is complete exactly when it is the inverse limit of its adic truncations.
Let
(R, 𝔪)be a local ring. ThenRis𝔪-adically complete if and only if for every familyfof residuesf n : R ⧸ 𝔪ⁿthat is compatible with the truncation mapsR ⧸ 𝔪ⁿ → R ⧸ 𝔪ᵏfork ≤ n, there is a uniquer : Rwhose residue modulo𝔪ⁿisf nfor everyn.This is the Stacks project's definition of a complete local ring: a compatible family is an element of
lim_n R / 𝔪ⁿ, existence ofrsays the canonical mapR → lim_n R / 𝔪ⁿis surjective, and uniqueness says it is injective, so the two together say that this ring map is an isomorphism. Uniqueness for the zero family is the separatedness⋂ₙ 𝔪ⁿ = (0)that the source's footnote insists on; it corresponds to theIsHausdorffhalf ofIsAdicComplete, while existence corresponds to theIsPrecompletehalf.
theorem IsLocalRing.isAdicComplete_maximalIdeal_iff_forall_compatible_existsUnique_mk_eq
(R : Type u) [CommRing R] [IsLocalRing R] :
IsAdicComplete (maximalIdeal R) R ↔
∀ f : (n : ℕ) → R ⧸ maximalIdeal R ^ n,
(∀ (k n : ℕ) (h : k ≤ n),
Ideal.Quotient.factor (Ideal.pow_le_pow_right h) (f n) = f k) →
∃! r : R, ∀ n : ℕ, Ideal.Quotient.mk (maximalIdeal R ^ n) r = f n
Tag 0324, a definition
Tag 0324 in the Stacks Project.
IsLocalRing.isAdicComplete_maximalIdeal_iff_forall_compatible_existsUnique_mk_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/InverseLimitCharacterization.lean, line 122. The attribute's comment: “The source defines (R, 𝔪) to be a complete local ring when the canonical map R ⟶ lim_n R / 𝔪ⁿ is an isomorphism. This library has no definition of its own for that: completeness of a local ring is spelled IsAdicComplete (IsLocalRing.maximalIdeal R) R everywhere downstream (for instance in 032A, 032D and 0C0S), and introducing a second name for it would shadow canonical Mathlib API. So the definition is carried as the CHARACTERIZATION theorem that identifies the library's spelling with the source's: IsAdicComplete holds iff every compatible family of residues modulo 𝔪ⁿ comes from a unique element of R, i.e. iff the canonical ring map into the inverse limit is bijective, hence an isomorphism. lim_n R/𝔪ⁿ is not named as an object; it is spelled by its universal property, with the source's own truncations Ideal.Quotient.mk (𝔪ⁿ) and transition maps Ideal.Quotient.factor, so the statement does not depend on a model of the limit. The source's footnote — that this includes ⋂ 𝔪ⁿ = (0), R complete AND separated — is the uniqueness half of the ∃!, applied to the zero family; it matches the IsHausdorff component of IsAdicComplete, existence matching IsPrecomplete. The footnote's three cross-references (05JC, 05GG, 05GH) are remarks on when the completion is itself complete and Noetherian; they are separate tags and are not claimed here.”.
A local ring is complete exactly when it is the inverse limit of its adic truncations.
Let
(R, 𝔪)be a local ring. ThenRis𝔪-adically complete if and only if for every familyfof residuesf n : R ⧸ 𝔪ⁿthat is compatible with the truncation mapsR ⧸ 𝔪ⁿ → R ⧸ 𝔪ᵏfork ≤ n, there is a uniquer : Rwhose residue modulo𝔪ⁿisf nfor everyn.This is the Stacks project's definition of a complete local ring: a compatible family is an element of
lim_n R / 𝔪ⁿ, existence ofrsays the canonical mapR → lim_n R / 𝔪ⁿis surjective, and uniqueness says it is injective, so the two together say that this ring map is an isomorphism. Uniqueness for the zero family is the separatedness⋂ₙ 𝔪ⁿ = (0)that the source's footnote insists on; it corresponds to theIsHausdorffhalf ofIsAdicComplete, while existence corresponds to theIsPrecompletehalf.
theorem IsLocalRing.isAdicComplete_maximalIdeal_iff_forall_compatible_existsUnique_mk_eq
(R : Type u) [CommRing R] [IsLocalRing R] :
IsAdicComplete (maximalIdeal R) R ↔
∀ f : (n : ℕ) → R ⧸ maximalIdeal R ^ n,
(∀ (k n : ℕ) (h : k ≤ n),
Ideal.Quotient.factor (Ideal.pow_le_pow_right h) (f n) = f k) →
∃! r : R, ∀ n : ℕ, Ideal.Quotient.mk (maximalIdeal R ^ n) r = f n
Tag 0325, a lemma
Tag 0325 in the Stacks Project.
quotient_isNoetherianCompleteLocalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/Noetherian/FiniteProduct.lean, line 91. References: EGA 0 (20.7.20), “special case”; EGA IV (18.5.16), “special case”.
If
Ris a Noetherian complete local ring andJis a proper ideal ofR, then the quotientR / Jis again a Noetherian complete local ring.
theorem quotient_isNoetherianCompleteLocalRing
{R : Type*} [CommRing R] (hR : IsNoetherianCompleteLocalRing R)
(J : Ideal R) (hJ : J ≠ ⊤) :
IsNoetherianCompleteLocalRing (R ⧸ J)
finite_isProduct_isNoetherianCompleteLocalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/Noetherian/FiniteProduct.lean, line 657. References: EGA 0 (22.3.1), “special case”; EGA IV (18.5.9), “(ii), special case”; EGA IV (5.4.3), “special case”; SGA 1 III (1.4), “special case”; SGA 3 VIIB (0.1.1), “special case”; SGA 3 XV (1.5), “partial”; SGA 3 XV (3.9); SGA 4 VIII (4.1), “(i), special case”.
If
Ris a Noetherian complete local ring andR → Sis a finite ring map, thenSis a finite product of Noetherian complete local rings: there exist finitely many ringsT 0, ..., T (m-1), each a Noetherian complete local ring, together with a ring isomorphismS ≃+* Π i, T i.
theorem finite_isProduct_isNoetherianCompleteLocalRing
{R : Type u} [CommRing R] (hR : IsNoetherianCompleteLocalRing R)
{S : Type v} [CommRing S] [Algebra R S] [Module.Finite R S] :
∃ (m : ℕ) (T : Fin m → Type v) (_ : ∀ i, CommRing (T i)),
(∀ i, IsNoetherianCompleteLocalRing (T i)) ∧
Nonempty (S ≃+* (Π i, T i))
Tag 032B, a lemma
Tag 032B in the Stacks Project.
complete_local_ring_noetherian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/Noetherian/FGMaximalIdeal.lean, line 541. References: EGA 0 (7.2.6), “special case”; EGA I (10.6.4), “special case”.
A local ring
Rthat is complete for its maximal-ideal-adic topology and whose maximal ideal is finitely generated is Noetherian.
theorem complete_local_ring_noetherian
(R : Type*) [CommRing R] [IsLocalRing R]
(hcomplete : IsAdicComplete (IsLocalRing.maximalIdeal R) R)
(hfg : (IsLocalRing.maximalIdeal R).FG) :
IsNoetherianRing R
Tag 0326, a definition
Tag 0326 in the Stacks Project.
LocalSubring.IsCoefficientRing, a structure in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/CoefficientRing.lean, line 100.
A coefficient ring of a local ring
(R, 𝔪)is a local subringΛ ⊆ Rsuch thatΛis complete with maximal idealΛ ∩ 𝔪, the residue field ofΛmaps isomorphically onto the residue field ofR, andΛ ∩ 𝔪 = pΛ, wherepis the characteristic of the residue field ofR.
public structure LocalSubring.IsCoefficientRing (Λ : LocalSubring R) : Prop
Tag 0327, a definition
Tag 0327 in the Stacks Project.
IsCohenRing, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenRing.lean, line 46. References: EGA 0 (19.8.4), “partial”; SGA 7 I (0.5.3).
A Cohen ring is a complete discrete valuation ring whose uniformizer is a (rational) prime number
p. Concretely,Ris a domain, it is a discrete valuation ring, it is complete for the maximal-ideal-adic topology, and there is a prime numberp ∈ ℕsuch that the maximal ideal ofRis generated by the image ofpinR.This is a class extending
IsDiscreteValuationRingandIsAdicCompletefor the maximal ideal, so that both the valuation-theoretic and the completeness API of a Cohen ring are available to instance search without unfolding the definition, and only the arithmetic condition on the uniformizer is a field of its own.
class IsCohenRing (R : Type*) [CommRing R] [IsDomain R] : Prop extends
IsDiscreteValuationRing R, IsAdicComplete (IsLocalRing.maximalIdeal R) R
Tag 0328, a lemma
Tag 0328 in the Stacks Project.
IsCohenRing.exists_residueField_ringEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenRing.lean, line 348. The attribute's comment: “The source's Λ/pΛ ≅ k is the conjunction of maximalIdeal Λ = pΛ, pinning the uniformizer to the prime p that IsCohenRing (Stacks 0327) only asserts to exist, with a ring isomorphism ResidueField Λ ≃+* k, ResidueField Λ being Λ ⧸ maximalIdeal Λ. The ring Λ is asked for in the universe of k. See the module docstring.”. References: EGA 0 (19.8.6), “(ii), special case”.
Cohen rings exist (Stacks 0328). Let
pbe a prime number and letkbe a field of characteristicp. Then there is a Cohen ringΛwhose uniformizer isp, i.e. withmaximalIdeal Λ = pΛ, and whose residue fieldΛ/pΛis isomorphic tok.
public theorem IsCohenRing.exists_residueField_ringEquiv (p : ℕ) (hp : p.Prime) (k : Type u)
[Field k] [CharP k p] :
∃ (Λ : Type u) (_ : CommRing Λ) (_ : IsDomain Λ) (_ : IsCohenRing Λ),
maximalIdeal Λ = Ideal.span {(p : Λ)} ∧ Nonempty (ResidueField Λ ≃+* k)
Tag 0329, a lemma
Tag 0329 in the Stacks Project.
IsCohenRing.formallySmooth_quotient_span_pow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenRing.lean, line 666. The attribute's comment: “The source's p > 0 prime and p a uniformizer are consequences of CharP (ResidueField Λ) p for a Cohen ring, so only the latter is assumed, and n ≥ 1 is dropped because n = 0 gives the zero ring on both sides. The ZMod (p ^ n)-algebra structure is assumed rather than synthesized; it is unique where it exists, so this pins the source's map ℤ/pⁿℤ → Λ/pⁿΛ. See the module docstring.”.
Let
Λbe a Cohen ring whose residue field has characteristicp, so thatpis a uniformizer ofΛ. For everynthe ring mapℤ/pⁿℤ → Λ/pⁿΛis formally smooth (Stacks 0329).
public theorem IsCohenRing.formallySmooth_quotient_span_pow (p n : ℕ) (Λ : Type*) [CommRing Λ]
[IsDomain Λ] [IsCohenRing Λ] [CharP (ResidueField Λ) p]
[Algebra (ZMod (p ^ n)) (Λ ⧸ Ideal.span {(p : Λ) ^ n})] :
Algebra.FormallySmooth (ZMod (p ^ n)) (Λ ⧸ Ideal.span {(p : Λ) ^ n})
Tag 032A, a theorem
Tag 032A in the Stacks Project.
IsLocalRing.exists_isCoefficientRing_and_exists_surjective_mvPowerSeries, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/CohenStructureTheorem/CoefficientRing.lean, line 672. The attribute's comment: “Completeness of R is IsAdicComplete (maximalIdeal R) R, the source's R ≅ lim_n R/𝔪ⁿ. The two parts are the two conjuncts, the second guarded by its own hypothesis so that part (1) keeps the source's generality, and its R ≅ Λ[[x_1, …, x_n]]/I is stated as the existence of a surjection MvPowerSeries (Fin n) Λ →+* R with kernel I. See the module docstring.”. References: EGA 0 (19.8.8), “(i)”.
Cohen structure theorem (Stacks 032A). Let
(R, 𝔪)be a complete local ring. 1.Rhas a coefficient ring: a local subringΛ ⊆ Rwhich is complete with maximal idealΛ ∩ 𝔪, whose residue field maps isomorphically onto that ofR, and withΛ ∩ 𝔪 = pΛforpthe residue characteristic ofR. 2. If𝔪is a finitely generated ideal, thenRis isomorphic to a quotientΛ[[x_1, …, x_n]]/IwhereΛis either a field or a Cohen ring; equivalently, there is a surjective ring homomorphismΛ[[x_1, …, x_n]] → R, whose kernel isI.
public theorem IsLocalRing.exists_isCoefficientRing_and_exists_surjective_mvPowerSeries
(R : Type u) [CommRing R] [IsLocalRing R] [IsAdicComplete (maximalIdeal R) R] :
(∃ Λ : LocalSubring R, Λ.IsCoefficientRing) ∧
((maximalIdeal R).FG →
∃ (n : ℕ) (Λ : Type u) (_ : CommRing Λ) (_ : IsDomain Λ),
(IsField Λ ∨ IsCohenRing Λ) ∧
∃ f : MvPowerSeries (Fin n) Λ →+* R, Function.Surjective f)
Tag 032C, a remark
Tag 032C in the Stacks Project.
isUniversallyCatenary_of_isPrecomplete_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Catenary/Formal.lean, line 293. The attribute's comment: “universally catenary”. References: EGA IV (5.2.5), “special case”; EGA IV (5.6.4), “special case”; EGA IV (7.1.11), “clause (i), special case”; EGA IV (7.5.3), “more general”.
Stacks Project, Tag 032C. A Noetherian complete local ring is universally catenary.
By the Cohen structure theorem it is a quotient of a power series ring over a field or over a Cohen ring, hence of a regular local ring; a regular local ring is Cohen-Macaulay with full support, so [Stacks, Tag 00NM] applies, and universal catenarity passes to quotients.
Completeness is asked for as precompleteness for the maximal ideal, as in [Stacks, Tag 07PJ]; the Hausdorff half is automatic for a Noetherian local ring, so a ring carrying
IsAdicComplete (IsLocalRing.maximalIdeal R) Rsatisfies the hypothesis by inference.
theorem isUniversallyCatenary_of_isPrecomplete_maximalIdeal
(R : Type u) [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
[IsPrecomplete (IsLocalRing.maximalIdeal R) R] : Ring.IsUniversallyCatenary R
Tag 0C0S, a lemma
Tag 0C0S in the Stacks Project.
IsRegularLocalRing.nonempty_ringEquiv_and_algEquiv_mvPowerSeries, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/Regular.lean, line 362. The attribute's comment: “The source's Noetherian complete local regular ring is IsRegularLocalRing R with IsAdicComplete (maximalIdeal R) R. R contains 𝐅_p or 𝐐 iff it contains a field, which is how the first part is hypothesized; the number of variables is pinned to the embedding dimension, the d of the source's proof. The two parts are the two conjuncts, each guarded by its own hypothesis. See the module docstring.”. References: EGA 0 (19.6.3), “a)⇒c), regular case”; EGA 0 (19.6.5), “Â ≅ K[[T_1,...,T_n]]”; EGA 0 (19.6.4), “special case”; EGA 0 (19.8.8), “(i), special case”.
Let
(R, 𝔪)be a Noetherian complete local ring which is regular, and letdbe its embedding dimensiondim_{R/𝔪} 𝔪/𝔪², which equalsdim R. 1. IfRcontains a field — equivalently𝐅_por𝐐— thenRis isomorphic to the power series ring indvariables over its residue field. 2. Ifkis a field andk → Ris a ring map inducing an isomorphismk → R/𝔪, thenRis isomorphic as ak-algebra to the power series ring indvariables overk. (Stacks 0C0S)
public theorem IsRegularLocalRing.nonempty_ringEquiv_and_algEquiv_mvPowerSeries (R : Type u)
[CommRing R] [IsRegularLocalRing R] [IsAdicComplete (maximalIdeal R) R] (d : ℕ)
(hd : Module.finrank (ResidueField R) (CotangentSpace R) = d) :
(∀ (F : Type v) [Field F] [Algebra F R],
Nonempty (R ≃+* MvPowerSeries (Fin d) (ResidueField R))) ∧
(∀ (k : Type w) [Field k] [Algebra k R],
Function.Bijective ((residue R).comp (algebraMap k R)) →
Nonempty (R ≃ₐ[k] MvPowerSeries (Fin d) k))
Tag 032D, a lemma
Tag 032D in the Stacks Project.
IsLocalRing.exists_injective_finite_mvPowerSeries, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/CohenStructureTheorem/RegularSubring.lean, line 569. The attribute's comment: “The subring R₀ ⊆ R is presented as an injective ring homomorphism f from the power series ring it is isomorphic to, so that items (1) and (3) are statements about MvPowerSeries (Fin d) Λ and item (2) is one about f: f.Finite for finiteness and Function.Surjective ((residue R).comp f) for the isomorphism on residue fields. See the module docstring.”. References: EGA 0 (19.8.8), “(ii)”.
Let
(R, 𝔪)be a Noetherian complete local domain. Then there is a subringR₀ ⊆ Rwhich is a regular complete local ring, over whichRis finite, which induces an isomorphism on residue fields, and which is a power series ringΛ[[X_1, …, X_d]]over a field or over a Cohen ringΛ. The subring is presented as the image of an injective ring homomorphismf : Λ[[X_1, …, X_d]] → R, finite and withR/𝔪generated by the image off. (Stacks 032D)
public theorem IsLocalRing.exists_injective_finite_mvPowerSeries (R : Type u) [CommRing R]
[IsNoetherianRing R] [IsLocalRing R] [IsDomain R] [IsAdicComplete (maximalIdeal R) R] :
∃ (d : ℕ) (Λ : Type u) (_ : CommRing Λ) (_ : IsDomain Λ),
(IsField Λ ∨ IsCohenRing Λ) ∧
∃ _ : IsRegularLocalRing (MvPowerSeries (Fin d) Λ),
IsAdicComplete (maximalIdeal (MvPowerSeries (Fin d) Λ)) (MvPowerSeries (Fin d) Λ) ∧
∃ f : MvPowerSeries (Fin d) Λ →+* R,
Function.Injective f ∧ f.Finite ∧ Function.Surjective ((residue R).comp f)
Sources
Section10.161 Japanese rings#
Section 10.161 of the Stacks Project, Tag 0BI1. 15 tags here are carried by 17 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 032F, a definition
Tag 032F in the Stacks Project.
IsN1, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Defs.lean, line 100. The attribute's comment: “(1)”.
A domain
Ris N-1 if the integral closure ofRin its field of fractions is a finiteR-module.The field of fractions is
FractionRing R; see the module docstring for the formulation with an arbitrary field of fractions. As withIsIntegrallyClosed,Ris not required to be a domain: for a general commutative ringFractionRing Ris the total ring of fractions, and the condition reads the same.
abbrev IsN1 (R : Type*) [CommRing R] : Prop
IsJapaneseRing, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Defs.lean, line 109. The attribute's comment: “(2)”. References: EGA 0 (23.1.1), “def. of Japanese”.
A domain
Ris N-2, or Japanese, if for every finite field extensionLof its field of fractionsK = Frac(R), the integral closure ofRinLis a finiteR-module.The extension is presented as a field
Lthat is aK-algebra, finite dimensional overK, whoseR-algebra structure is the composite ofR → KwithK → L.
class IsJapaneseRing (R : Type u) [CommRing R] [IsDomain R] : Prop
Tag 032G, a lemma
Tag 032G in the Stacks Project.
isN1_and_isJapaneseRing_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/JapaneseCriteria.lean, line 151.
N-1 and N-2 pass to a localization. Stacks Tag 032G: if a domain
Ris N-1 then so is every localization ofRwhich is again a domain, and the same for N-2.
theorem isN1_and_isJapaneseRing_of_isLocalization {R : Type u} [CommRing R] [IsDomain R]
(M : Submonoid R) (Rₛ : Type u) [CommRing Rₛ] [IsDomain Rₛ] [Algebra R Rₛ]
[IsLocalization M Rₛ] :
(IsN1 R → IsN1 Rₛ) ∧ (IsJapaneseRing R → IsJapaneseRing Rₛ)
Tag 032H, a lemma
Tag 032H in the Stacks Project.
isN1_and_isJapaneseRing_of_localizationSpan, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/JapaneseCriteria.lean, line 265.
N-1 and N-2 descend along a principal open cover. Stacks Tag 032H: let
Rbe a domain and lett ⊆ Rgenerate the unit ideal. If the localizationR_gis N-1 for everyg ∈ tthen so isR, and the same for N-2.
theorem isN1_and_isJapaneseRing_of_localizationSpan {R : Type u} [CommRing R] [IsDomain R]
(t : Set R) (ht : Ideal.span t = ⊤)
{Rₚ : ∀ _ : t, Type u} [∀ g, CommRing (Rₚ g)] [∀ g, IsDomain (Rₚ g)]
[∀ g, Algebra R (Rₚ g)] [∀ g, IsLocalization.Away g.val (Rₚ g)] :
((∀ g, IsN1 (Rₚ g)) → IsN1 R) ∧
((∀ g, IsJapaneseRing (Rₚ g)) → IsJapaneseRing R)
Tag 032I, a lemma
Tag 032I in the Stacks Project.
isJapaneseRing_of_quasiFinite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/JapaneseCriteria.lean, line 484.
N-2 ascends along a quasi-finite extension of domains. Stacks Tag 032I: let
R ⊆ Sbe a quasi-finite extension of domains withRNoetherian and N-2. ThenSis N-2.Zariski's main theorem covers
Spec Sby principal opens on whichSagrees with a subalgebra module-finite overR; N-2 ascends to such a subalgebra, passes to its localizations (Tag 032G), and descends from the cover (Tag 032H).
theorem isJapaneseRing_of_quasiFinite {R S : Type u} [CommRing R] [IsDomain R] [CommRing S]
[IsDomain S] [Algebra R S] [FaithfulSMul R S] [IsNoetherianRing R] [Algebra.FiniteType R S]
[Algebra.QuasiFinite R S] (hR : IsJapaneseRing R) : IsJapaneseRing S
Tag 032J, a lemma
Tag 032J in the Stacks Project.
main_theorem_032j, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Basic.lean, line 610.
Theorem (Stacks Tag 032J). Let
Rbe a Noetherian domain. If the Laurent polynomial ringR[z, z^{-1}]is N-1, thenRis N-1.
theorem main_theorem_032j (R : Type*) [CommRing R] [IsDomain R] [IsNoetherianRing R]
(h : IsN1 (LaurentPolynomial R)) : IsN1 R
Tag 032K, a lemma
Tag 032K in the Stacks Project.
isN1_of_finite_of_isN1, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Basic.lean, line 702. The attribute's comment: “(1)”.
Statement 1 (N-1 descends, part of Stacks Tag 032K). Let
Rbe a Noetherian domain andR ⊂ Sa finite extension of domains (modelled by an injective algebra mapR → SwithSfinite overR). IfSis N-1, thenRis N-1.
theorem isN1_of_finite_of_isN1
(R S : Type*) [CommRing R] [IsDomain R] [IsNoetherianRing R]
[CommRing S] [IsDomain S] [Algebra R S]
(hinj : Function.Injective (algebraMap R S))
(hfin : Module.Finite R S)
(hS : IsN1 S) : IsN1 R
isN2_of_finite_of_isN2, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Basic.lean, line 818. The attribute's comment: “(2)”.
Statement 2 (N-2 descends, part of Stacks Tag 032K). Let
Rbe a Noetherian domain andR ⊂ Sa finite extension of domains (modelled by an injective algebra mapR → SwithSfinite overR). IfSis N-2, thenRis N-2.
theorem isN2_of_finite_of_isN2
(R S : Type*) [CommRing R] [IsDomain R] [IsNoetherianRing R]
[CommRing S] [IsDomain S] [Algebra R S]
(hinj : Function.Injective (algebraMap R S))
(hfin : Module.Finite R S)
(hS : IsN2_032k S) : IsN2_032k R
Tag 032L, a lemma
Tag 032L in the Stacks Project.
Noetherian_normal_domain_finite_separable_extension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Basic.lean, line 908. References: EGA II (6.3.10), “special case”; EGA II (7.3.12), “special case”; EGA IV (14.5.5), “finiteness of A₁ over A”; EGA IV (18.10.15), “partial”.
The integral closure of a Noetherian normal domain in a finite separable extension is finite over the base ring.
theorem Noetherian_normal_domain_finite_separable_extension
(R : Type*) [CommRing R] [IsDomain R] [IsNoetherianRing R] [IsIntegrallyClosed R]
(K : Type*) [Field K] [Algebra R K] [IsFractionRing R K]
(L : Type*) [Field L] [Algebra K L] [FiniteDimensional K L] [Algebra.IsSeparable K L]
[Algebra R L] [IsScalarTower R K L] :
Module.Finite R (integralClosure R L)
Tag 0AE0, a lemma
Tag 0AE0 in the Stacks Project.
Stacks.Nagata.PurelyInseparable.integralClosure_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/PurelyInseparable.lean, line 713.
Stacks 0AE0. The integral closure of
RinL = K[x]/(x^p - a)is finite overR. Given the finitely generatedR-moduleN ⊇ integral closurefromexists_fg_le, the integral closure is a submodule of the f.g. moduleNover the Noetherian ringR, hence itself f.g. (Submodule.FG.of_le), hence finite (Module.Finite.of_fg).
theorem integralClosure_finite
(h : ∃ D : Derivation ℤ K K,
(∀ r : R, ∃ s : R, D (algebraMap R K r) = algebraMap R K s) ∧ D a ≠ 0) :
Module.Finite R (integralClosure R (Lext p a))
Tag 032M, a lemma
Tag 032M in the Stacks Project.
N1_iff_N2, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Basic.lean, line 868. References: EGA 0 (23.1.2), “special case”.
Stacks Tag 032M, Lemma 10.161.11. For a Noetherian domain
Rwhose fraction fieldKhas characteristic zero,Ris N-1 if and only ifRis N-2 (Japanese).
theorem N1_iff_N2 (R K : Type u) [CommRing R] [IsDomain R] [IsNoetherianRing R]
[Field K] [Algebra R K] [IsFractionRing R K] [CharZero K] :
IsN1_032m R K ↔ IsN2_032m R K
Tag 032N, a lemma
Tag 032N in the Stacks Project.
isJapaneseRing_iff_finite_integralClosure_isPurelyInseparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/JapaneseCriteria.lean, line 380. References: EGA 0 (23.1.2).
N-2 is tested on purely inseparable extensions. Stacks Tag 032N: a Noetherian domain
Ris N-2 if and only if the integral closure ofRin every finite purely inseparable extension of its field of fractions is a finiteR-module.The source states this for a field of fractions of characteristic
p > 0; the characteristic plays no role in the argument, which factors a finite normal extension ofKas a purely inseparable extension followed by a separable one (Tag 030M) and is vacuously aboutL = Kin characteristic zero, so no characteristic hypothesis is imposed.
theorem isJapaneseRing_iff_finite_integralClosure_isPurelyInseparable (R : Type u) [CommRing R]
[IsDomain R] [IsNoetherianRing R] :
IsJapaneseRing R ↔
∀ (L : Type u) [Field L] [Algebra R L] [Algebra (FractionRing R) L]
[IsScalarTower R (FractionRing R) L] [FiniteDimensional (FractionRing R) L]
[IsPurelyInseparable (FractionRing R) L],
Module.Finite R (integralClosure R L)
Tag 032O, a lemma
Tag 032O in the Stacks Project.
Polynomial.isN1_and_isJapaneseRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Polynomial.lean, line 687.
N-1 and N-2 ascend to a polynomial ring. Let
Rbe a domain. If the integral closure ofRinFrac(R)is a finiteR-module, then the integral closure ofR[x]inFrac(R[x])is a finiteR[x]-module; and ifRis Noetherian and N-2 (Japanese), thenR[x]is N-2.The Noetherian hypothesis of Tag 032O is attached to the N-2 conjunct only, the N-1 conjunct not using it; see the module docstring.
public theorem Polynomial.isN1_and_isJapaneseRing (R : Type u) [CommRing R] [IsDomain R] :
(IsN1 R → IsN1 (Polynomial R)) ∧
(IsNoetherianRing R → IsJapaneseRing R → IsJapaneseRing (Polynomial R))
Tag 0332, a lemma
Tag 0332 in the Stacks Project.
PrimeSpectrum.isOpen_setOf_isIntegrallyClosed_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NormalLocus/Open.lean, line 558. The attribute's comment: “Normality of a localization is spelled IsIntegrallyClosed, Mathlib having no predicate for a normal ring; the IsDomain conjunct of the spelling used for tags 030C (1) and 031S is automatic here because R is a domain. R_f is the canonical model Localization.Away f. See the module docstring.”.
Stacks Tag 0332. Let
Rbe a Noetherian domain. If there is a nonzerof ∈ Rsuch thatR_fis normal, then the set of primes𝔭ofRwithR_𝔭a normal domain is open inSpec(R).
public theorem PrimeSpectrum.isOpen_setOf_isIntegrallyClosed_atPrime
{R : Type*} [CommRing R] [IsDomain R] [IsNoetherianRing R] {f : R} (hf : f ≠ 0)
(hf' : IsIntegrallyClosed (Localization.Away f)) :
IsOpen {p : PrimeSpectrum R | IsIntegrallyClosed (Localization.AtPrime p.asIdeal)}
Tag 0333, a lemma
Tag 0333 in the Stacks Project.
isN1_iff_exists_isIntegrallyClosed_away_and_forall_isN1_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/N1.lean, line 476. The attribute's comment: “R_f normal is IsIntegrallyClosed (Localization.Away f), normality of a domain being integral closedness in its field of fractions; the localizations are the concrete models Localization.Away f and Localization.AtPrime 𝔪. See the module docstring.”.
A Noetherian domain
Ris N-1 — its integral closure inFrac Ris a finiteR-module — if and only ifR_fis normal for some nonzerof ∈ RandR_𝔪is N-1 for every maximal ideal𝔪 ⊆ R.Normality of the domain
R_fisIsIntegrallyClosed (Localization.Away f); see the module docstring.
public theorem isN1_iff_exists_isIntegrallyClosed_away_and_forall_isN1_atPrime
(R : Type*) [CommRing R] [IsDomain R] [IsNoetherianRing R] :
IsN1 R ↔
(∃ f : R, f ≠ 0 ∧ IsIntegrallyClosed (Localization.Away f)) ∧
∀ (𝔪 : Ideal R) [𝔪.IsMaximal], IsN1 (Localization.AtPrime 𝔪)
Tag 032P, a lemma
Tag 032P in the Stacks Project.
IsJapaneseRing.of_quotient_span_singleton, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Tate.lean, line 623. References: EGA 0 (23.1.3).
Tate's theorem. Let
Rbe a Noetherian integrally closed (i.e. normal) domain and letx ∈ Rgenerate a prime ideal, so thatR ⧸ xRis a domain. IfR ⧸ xRis N-2 (Japanese) andRisx-adically complete, thenRis N-2.Completeness is asked for as
IsPrecomplete (Ideal.span {x}) R; the Hausdorff half ofIsAdicCompleteis automatic here, see the module docstring.
public theorem IsJapaneseRing.of_quotient_span_singleton {R : Type u} [CommRing R] [IsDomain R]
[IsNoetherianRing R] [IsIntegrallyClosed R] (x : R) [(Ideal.span {x}).IsPrime]
[IsPrecomplete (Ideal.span {x}) R] (h : IsJapaneseRing (R ⧸ Ideal.span {x})) :
IsJapaneseRing R
Tag 032Q, a lemma
Tag 032Q in the Stacks Project.
PowerSeries.isJapaneseRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/PowerSeries.lean, line 261. References: EGA 0 (23.1.4), “case r = 1”.
Tag 032Q. If
Ris a Noetherian N-2 (Japanese) domain, then so is the formal power series ringR⟦X⟧: the integral closure ofR⟦X⟧in every finite extension ofFrac R⟦X⟧is a finiteR⟦X⟧-module.Together with
PowerSeries.instIsNoetherianRingandPowerSeries.instIsDomainthis says thatR⟦X⟧is a Noetherian N-2 domain.
public theorem isJapaneseRing {R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R]
(hR : IsJapaneseRing R) : IsJapaneseRing R⟦X⟧
Sources
Section10.162 Nagata rings#
Section 10.162 of the Stacks Project, Tag 032E. 17 tags here are carried by 21 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 032R, a definition
Tag 032R in the Stacks Project.
IsUniversallyJapaneseRing, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Defs.lean, line 119. The attribute's comment: “(1)”. References: EGA 0 (23.1.1); EGA IV (7.7.1).
A ring
Ris universally Japanese if for every finite-type ring mapR → SwithSa domain, the domainSis N-2 (Japanese), i.e. satisfiesIsJapaneseRing.
class IsUniversallyJapaneseRing (R : Type u) [CommRing R] : Prop
IsNagataRing, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Defs.lean, line 129. The attribute's comment: “(2)”.
A ring
Ris a Nagata ring ifRis Noetherian and for every prime idealp ⊆ Rthe quotient domainR ⧸ pis N-2 (Japanese), i.e. satisfiesIsJapaneseRing.
class IsNagataRing (R : Type u) [CommRing R] : Prop
Tag 03GH, a lemma
Tag 03GH in the Stacks Project.
IsIntegralClosure.finite_of_essFiniteType_of_isReduced, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/IntegralClosure.lean, line 264. References: EGA II (6.3.10), “special case”.
A Nagata ring has finite integral closure in a reduced algebra essentially of finite type.
Let
Rbe a Nagata ring, that is, a Noetherian ring such thatR ⧸ pis N-2 (Japanese) for every primep, and letSbe a reducedR-algebra essentially of finite type. Then the integral closureAofRinSis a finiteR-module.
public theorem IsIntegralClosure.finite_of_essFiniteType_of_isReduced
{R : Type u} [CommRing R] [IsNoetherianRing R]
{S : Type u} [CommRing S] [Algebra R S] [Algebra.EssFiniteType R S] [IsReduced S]
{A : Type v} [CommRing A] [Algebra R A] [Algebra A S] [IsScalarTower R A S]
[IsIntegralClosure A R S]
(hR : ∀ (p : Ideal R) [p.IsPrime], IsJapaneseRing (R ⧸ p)) :
Module.Finite R A
Tag 0351, a lemma
Tag 0351 in the Stacks Project.
isUniversallyJapanese_of_finiteType_isN1, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Japanese/N1Criterion.lean, line 258. References: EGA IV (7.7.1), “N-1 ⇒ univ. Japanese”.
Stacks Tag 0351. Let
Rbe a ring such that for every finite type ring mapR → SwithSa domain, the domainSis N-1. ThenRis universally Japanese.
theorem isUniversallyJapanese_of_finiteType_isN1 (R : Type u) [CommRing R]
(H : ∀ (S : Type u) [CommRing S] [IsDomain S] [Algebra R S] [Algebra.FiniteType R S], IsN1 S) :
IsUniversallyJapaneseRing R
Tag 032S, a lemma
Tag 032S in the Stacks Project.
isUniversallyJapanese_of_isEssentiallyOfFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Japanese/EssFiniteType.lean, line 372. References: EGA IV (7.7.2), “moreover clause”.
(Stacks Tag 032S, Lemma 10.162.4) If
Ris universally Japanese then anyR-algebraAessentially of finite type overRis universally Japanese.
theorem isUniversallyJapanese_of_isEssentiallyOfFiniteType (R : Type u) [CommRing R] (A : Type u)
[CommRing A] [Algebra R A] (hR : IsUniversallyJapanese R)
(hA : IsEssentiallyOfFiniteType R A (algebraMap R A)) : IsUniversallyJapanese A
Tag 032T, a lemma
Tag 032T in the Stacks Project.
isNagataRing_of_quasiFinite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/QuasiFinite.lean, line 154.
A quasi-finite algebra over a Nagata ring is a Nagata ring. If
Ris a Nagata ring — Noetherian, with every quotientR ⧸ pby a prime N-2 — andR → Sis quasi-finite, that is of finite type with finite-dimensional fibres (for example module-finite), thenSis a Nagata ring.Quasi-finiteness in the sense of [Stacks, Tag 00PL] is the conjunction
[Algebra.FiniteType R S] [Algebra.QuasiFinite R S], Mathlib'sAlgebra.QuasiFiniteomitting the finite type condition. No injectivity is required: the mapR → Sis arbitrary.
public theorem isNagataRing_of_quasiFinite {R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
[Algebra.FiniteType R S] [Algebra.QuasiFinite R S] (hR : IsNagataRing R) :
IsNagataRing S
Tag 032U, a lemma
Tag 032U in the Stacks Project.
isNagata_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Japanese/Localization.lean, line 211. References: EGA IV (7.7.2).
(Stacks Tag 032U) A localization of a Nagata ring is a Nagata ring.
Here
Tis an arbitraryR-algebra realizingT = M⁻¹Rfor a submonoidM ⊆ R(IsLocalization M T), which is exactly Definition 4 of a localization. The single-element caseR_f(M = {1, f, f², …}) and the prime caseR_p(M = R ∖ p) are special cases.Proof structure (Stacks: "clear from Tag 032G"): * Noetherianity of
TisIsLocalization.isNoetherianRing M T hR.isNoetherianRing. * For a primeq ⊆ T, setp := q.comap (R → T)(prime byIdeal.comap_isPrime). ThenR/pis N-2 (hR.isJapaneseRing_quotient p), andT/q ≅ M̄⁻¹(R/p)is a localization of the domainR/pat the imageM̄ofM, which lies in the nonzerodivisors ofR/p. ByisN2_of_isLocalization_domain,T/qis N-2. HenceTis Nagata.
theorem isNagata_of_isLocalization (R : Type u) [CommRing R] (M : Submonoid R) (T : Type u)
[CommRing T] [Algebra R T] [IsLocalization M T] (hR : IsNagataRing R) :
IsNagataRing T
Tag 032V, a lemma
Tag 032V in the Stacks Project.
isUniversallyJapaneseRing_and_isNagataRing_of_localizationSpan, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Descent.lean, line 288.
Universally Japanese and Nagata descend along a principal open cover. Let
t ⊆ Rgenerate the unit ideal and forg ∈ tletRₚ gbe a localization ofRaway fromg. If everyRₚ gis universally Japanese then so isR, and if everyRₚ gis a Nagata ring then so isR.The source states the two parts for finitely many
f₁, …, f_n; they are the two conjuncts here, and an arbitrary spanning set is the same hypothesis.
public theorem isUniversallyJapaneseRing_and_isNagataRing_of_localizationSpan {R : Type u}
[CommRing R] (t : Set R) (ht : Ideal.span t = ⊤) (Rₚ : ∀ _ : t, Type u)
[∀ g, CommRing (Rₚ g)] [∀ g, Algebra R (Rₚ g)] [∀ g, IsLocalization.Away g.val (Rₚ g)] :
((∀ g, IsUniversallyJapaneseRing (Rₚ g)) → IsUniversallyJapaneseRing R) ∧
((∀ g, IsNagataRing (Rₚ g)) → IsNagataRing R)
Tag 032W, a lemma
Tag 032W in the Stacks Project.
IsNagataRing.of_isPrecomplete_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/CompleteLocalRing.lean, line 290. References: EGA 0 (23.1.5), “more general”.
A Noetherian complete local ring is a Nagata ring. If
Ris Noetherian, local, and complete for the topology defined by its maximal idealm, thenRis a Nagata ring: for every primep ⊆ Rthe quotient domainR ⧸ pis N-2 (Japanese).Completeness is asked for as
IsPrecomplete (IsLocalRing.maximalIdeal R) R; the Hausdorff half ofIsAdicCompleteis automatic for a Noetherian local ring, so a ring withIsAdicComplete (IsLocalRing.maximalIdeal R) Rsatisfies the hypothesis by inference.
public theorem IsNagataRing.of_isPrecomplete_maximalIdeal {R : Type u} [CommRing R]
[IsNoetherianRing R] [IsLocalRing R] [IsPrecomplete (IsLocalRing.maximalIdeal R) R] :
IsNagataRing R
Tag 032X, a definition
Tag 032X in the Stacks Project.
IsAnalyticallyUnramified, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AnalyticallyUnramified/Defs.lean, line 107. References: SGA 1 I (9.4).
A local ring
Rwith maximal idealmis analytically unramified if its completionR^ = lim_n R ⧸ mⁿis reduced.The source asks for
RNoetherian; that hypothesis is not needed to state the condition and is carried by the lemmas about it. A prime idealp ⊂ Ris analytically unramified when the local ringR ⧸ pis, i.e. whenIsAnalyticallyUnramified (R ⧸ p)holds.
public def IsAnalyticallyUnramified (R : Type*) [CommRing R] [IsLocalRing R] : Prop
Tag 032Y, a lemma
Tag 032Y in the Stacks Project.
isAnalyticallyUnramified_iff_minimalPrimes_and_isN1, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AnalyticallyUnramified/Criteria/MinimalPrimes.lean, line 638.
Tag 032Y. Let
(R, m)be a Noetherian local ring. ThenRis analytically unramified if and only ifRis reduced and each of its minimal primesqis analytically unramified, i.e. each local ringR ⧸ qis; and an analytically unramifiedRis N-1, i.e. the integral closure ofRin its total ring of fractionsQ(R)is a finiteR-module.The first conjunct is parts (1), (2) and (3) of the source, the forward direction being (1) and (2) and the converse being (3); the second conjunct is part (4), and part (5) is that conjunct with
[IsDomain R]adjoined.
public theorem isAnalyticallyUnramified_iff_minimalPrimes_and_isN1 (R : Type*) [CommRing R]
[IsLocalRing R] [IsNoetherianRing R] :
(IsAnalyticallyUnramified R ↔
IsReduced R ∧
∀ q ∈ minimalPrimes R, ∀ [IsLocalRing (R ⧸ q)], IsAnalyticallyUnramified (R ⧸ q)) ∧
(IsAnalyticallyUnramified R → IsN1 R)
Tag 032Z, a lemma
Tag 032Z in the Stacks Project.
exists_isDiscreteValuationRing_atPrime_of_analyticallyUnramified, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AdicCompletion/AnalyticallyUnramified.lean, line 1235.
Stacks Tag 032Z. Let
Rbe a Noetherian local ring andp ⊂ Ra prime ideal such that the localizationR_pis a discrete valuation ring andpis analytically unramified (R^ / p R^is reduced). Then for every associated primeqof theR^-moduleR^ / p R^, the local ring(R^)_qis a discrete valuation ring.
theorem exists_isDiscreteValuationRing_atPrime_of_analyticallyUnramified {R : Type*} [CommRing R]
[IsLocalRing R] [IsNoetherianRing R] (p : Ideal R)
[p.IsPrime]
-- (1) `R_p` is a discrete valuation ring (hence a domain).
[IsDomain (Localization.AtPrime p)] (hdvr : IsDiscreteValuationRing (Localization.AtPrime p))
-- (2) `p` is analytically unramified: `R^ / p R^` is reduced.
(hunr : AnalyticallyUnramifiedPrime p)
-- `q` is an associated prime of the `R^`-module `R^ / p R^`.
(q : Ideal (mCompletion R)) (hq : IsAssociatedPrime q (mCompletion R ⧸ pCompletion p)) :
-- Conclusion: `(R^)_q` is a discrete valuation ring (in particular a domain).
∃ (_ : q.IsPrime) (_ : IsDomain (Localization.AtPrime q)),
IsDiscreteValuationRing (Localization.AtPrime q)
Tag 0330, a lemma
Tag 0330 in the Stacks Project.
IsAnalyticallyUnramified.of_associatedPrimes_quotient_span_singleton, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AnalyticallyUnramified/Criteria/CuttingByNonzerodivisor.lean, line 507. The attribute's comment: “The source's R a domain with x ≠ 0 is generalized to x a nonzerodivisor, which is all the proof uses; R ⧸ xR having no embedded primes is spelled as every associated prime of R ⧸ xR being minimal over xR, there being no predicate for it in this library.”.
Stacks Tag 0330. Let
(R, 𝔪)be a Noetherian local ring and letx ∈ 𝔪be a nonzerodivisor. IfR ⧸ xRhas no embedded primes — every associated prime of the moduleR ⧸ xRis minimal overxR— and every associated prime𝔭ofR ⧸ xRhasR_𝔭regular and is analytically unramified, thenRis analytically unramified.The source assumes
Ra domain andx ≠ 0; onlyx ∈ nonZeroDivisors Ris used, and it is what those two amount to.
public theorem IsAnalyticallyUnramified.of_associatedPrimes_quotient_span_singleton {R : Type*}
[CommRing R] [IsNoetherianRing R] [IsLocalRing R] {x : R} (hx : x ∈ nonZeroDivisors R)
(hxm : x ∈ maximalIdeal R)
(hemb : associatedPrimes R (R ⧸ Ideal.span {x}) ⊆ (Ideal.span {x}).minimalPrimes)
(hp :
∀ (p : Ideal R) [p.IsPrime] [IsLocalRing (R ⧸ p)],
p ∈ associatedPrimes R (R ⧸ Ideal.span {x}) →
IsRegularLocalRing (Localization.AtPrime p) ∧ IsAnalyticallyUnramified (R ⧸ p)) :
IsAnalyticallyUnramified R
Tag 0331, a lemma
Tag 0331 in the Stacks Project.
IsAnalyticallyUnramified.of_isNagataRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AnalyticallyUnramified/Criteria/NagataDomain.lean, line 316. The attribute's comment: “Nagata is IsNagataRing of Definition 032R(2), whose first conjunct is IsNoetherianRing R, so the source's Noetherian hypothesis is absorbed rather than restated; analytically unramified is the predicate of Tag 032X, reducedness of the 𝔪-adic completion.”.
Stacks Tag 0331. A local ring
(R, 𝔪)which is a domain and a Nagata ring is analytically unramified: its completionR^ = lim_n R ⧸ 𝔪ⁿis reduced.The source also assumes
RNoetherian; that is the first conjunct ofIsNagataRing R.
public theorem IsAnalyticallyUnramified.of_isNagataRing {R : Type*} [CommRing R] [IsLocalRing R]
[IsDomain R] (hR : IsNagataRing R) : IsAnalyticallyUnramified R
Tag 0BI2, a lemma
Tag 0BI2 in the Stacks Project.
isNagataRing_tfae_isAnalyticallyUnramified, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/AnalyticallyUnramified.lean, line 236.
Stacks 0BI2. For a Noetherian local ring
R, the following are equivalent:
Ris a Nagata ring;- for every finite
R-algebraSwhich is a domain and every maximal ideal𝔪'ofS, the localizationS_{𝔪'}is analytically unramified;- for every finite local homomorphism
R → Sto a local domainS, the ringSis analytically unramified.
theorem isNagataRing_tfae_isAnalyticallyUnramified {R : Type u} [CommRing R] [IsLocalRing R]
[IsNoetherianRing R] :
[IsNagataRing R,
∀ (S : Type (max u v)) [CommRing S] [IsDomain S] [Algebra R S] [Module.Finite R S]
(m' : Ideal S) [m'.IsMaximal], IsAnalyticallyUnramified (Localization.AtPrime m'),
∀ (S : Type (max u w)) [CommRing S] [IsDomain S] [IsLocalRing S] [Algebra R S]
[Module.Finite R S] [IsLocalHom (algebraMap R S)], IsAnalyticallyUnramified S].TFAE
Tag 0334, a proposition
Tag 0334 in the Stacks Project.
isNagataRing_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/FiniteType.lean, line 478. The attribute's comment: “Items (1)-(3) as a List.TFAE. Nagata is IsNagataRing (032R(2)) and universally Japanese is IsUniversallyJapaneseRing (032R(1)); item (2), the condition the source's proof calls universally Nagata, is stated as the quantification over finite-type R-algebras rather than through a predicate of its own. See the module docstring.”. References: EGA IV (7.7.2), “a) <=> b)”; EGA IV (10.4.10), “more general”.
Nagata's theorem. For a ring
Rthe following are equivalent:Ris a Nagata ring; every finite-typeR-algebra is a Nagata ring;Ris universally Japanese and Noetherian.In particular an algebra of finite type over a Nagata ring is a Nagata ring. Nagata is
IsNagataRingand universally Japanese isIsUniversallyJapaneseRing, the two conditions of Definition 032R.
public theorem isNagataRing_tfae {R : Type u} [CommRing R] :
List.TFAE
[ IsNagataRing R,
∀ (S : Type u) [CommRing S] [Algebra R S] [Algebra.FiniteType R S], IsNagataRing S,
IsUniversallyJapaneseRing R ∧ IsNoetherianRing R ]
Tag 0335, a proposition
Tag 0335 in the Stacks Project.
isNagataRing_field_and_int_and_isDedekindDomain, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Examples.lean, line 128. The attribute's comment: “Items (1), (3) and (4) as one conjunction, since they share one proof; each is available separately as IsNagataRing.of_field, Int.isNagataRing and IsNagataRing.of_isDedekindDomain_of_charZero. Item (2) is Tag 032W and item (5) with the closing clause "and in particular universally Japanese" is Tag 0334, both tagged 0335 below. Nagata is IsNagataRing (032R(2)) and universally Japanese is IsUniversallyJapaneseRing (032R(1)). See the module docstring.”.
Fields,
ℤand Dedekind domains whose fraction field has characteristic zero are Nagata rings, hence in particular universally Japanese. These are items (1), (3) and (4) of the source, in its order; they share the one argument that inspectsR ⧸ 𝔭for each prime𝔭.The three classes on their own are
IsNagataRing.of_field,Int.isNagataRingandIsNagataRing.of_isDedekindDomain_of_charZero, which is how they are applied; see the module docstring.
public theorem isNagataRing_field_and_int_and_isDedekindDomain :
(∀ (K : Type u) [Field K], IsNagataRing K) ∧
IsNagataRing ℤ ∧
∀ (R : Type u) [CommRing R] [IsDedekindDomain R] [CharZero R], IsNagataRing R
IsNagataRing.of_field, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Examples.lean, line 138. The attribute's comment: “(1) Fields.”.
Stacks 0335 (1). A field is a Nagata ring, hence in particular universally Japanese: the only prime of a field
Kis0, andK ⧸ 0 = Kis N-2 because the integral closure ofKin a finite extensionLofKisLitself, a finiteK-module.
public theorem IsNagataRing.of_field {K : Type u} [Field K] : IsNagataRing K
Int.isNagataRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Examples.lean, line 146. The attribute's comment: “(3) The ring ℤ.”. References: EGA IV (7.7.4), “in particular Z”; EGA IV (7.8.3), “(vi), special case”.
Stacks 0335 (3). The ring
ℤis a Nagata ring, hence in particular universally Japanese. This is the caseR = ℤofIsNagataRing.of_isDedekindDomain_of_charZero.
public theorem Int.isNagataRing : IsNagataRing ℤ
IsNagataRing.of_isDedekindDomain_of_charZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/Examples.lean, line 162. The attribute's comment: “(4) Dedekind domains with fraction field of characteristic zero, the latter read as CharZero R.”. References: EGA IV (7.7.4), “Dedekind char 0”; EGA IV (7.8.3), “(vi), special case”; EGA IV (7.8.4), “special case”.
Stacks 0335 (4). A Dedekind domain whose fraction field has characteristic zero is a Nagata ring, hence in particular universally Japanese. For a prime
𝔭 ≠ 0the quotientR ⧸ 𝔭is a field and so is N-2; for𝔭 = 0the quotient isRitself, which is N-1 because it is integrally closed, and N-1 implies N-2 in characteristic zero (Tag 032M).The condition on the fraction field is stated as
CharZero R, which for a domainRis equivalent sinceR → Frac Ris injective. It cannot be dropped: a one-dimensional Noetherian integrally closed domain in characteristicpneed not be N-2.
public theorem IsNagataRing.of_isDedekindDomain_of_charZero {R : Type u} [CommRing R]
[IsDedekindDomain R] [CharZero R] : IsNagataRing R
Declarations registered for the tag:
IsNagataRing.of_isPrecomplete_maximalIdeal, declared in the repository, registered withadd_to_stacksin StacksFrontier/RingTheory/Nagata/Examples.lean, line 170 (StacksFrontier): “(2) Noetherian complete local rings, which is Tag 032W.”.isNagataRing_tfae, declared in the repository, registered withadd_to_stacksin StacksFrontier/RingTheory/Nagata/Examples.lean, line 177 (StacksFrontier): “(5) Finite type ring extensions of any of the above, which is the implication (1) ⇒ (2) of Tag 0334, and the closing clause "and in particular universally Japanese", which is its implication (1) ⇒ (3).”.
Tag 09E2, a lemma
Tag 09E2 in the Stacks Project.
IsNagataRing.exists_pow_eq_iff_exists_pow_eq_adicCompletion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/PthRoot.lean, line 479. The attribute's comment: “Stated as a biconditional, the reverse implication being map_pow on the completion map. Noetherian is absorbed into IsNagataRing (Definition 032R(2)), primality of p into p ≠ 0 over a domain (CharP.char_is_prime_or_zero), and the characteristic of Frac A is read off A. The completion is AdicCompletion (maximalIdeal A) A as in Tag 032X.”.
Stacks Tag 09E2. Let
(A, 𝔪)be a local domain which is a Nagata ring and has characteristicp ≠ 0, and letA^ = lim_n A ⧸ 𝔪ⁿbe its completion. An elementa : Ahas ap-th root inAif and only if it has one inA^.The source also assumes
ANoetherian, which is the first conjunct ofIsNagataRing A, and assumespprime, which follows fromp ≠ 0becauseAis a domain. The source's characteristic assumption is on the fraction field ofA; that is the same condition asCharP A p.
public theorem IsNagataRing.exists_pow_eq_iff_exists_pow_eq_adicCompletion {A : Type*}
[CommRing A] [IsLocalRing A] [IsDomain A] (hA : IsNagataRing A) {p : ℕ} [CharP A p]
(hp : p ≠ 0) (a : A) :
(∃ b : A, b ^ p = a) ↔
∃ α : AdicCompletion (IsLocalRing.maximalIdeal A) A,
α ^ p = algebraMap A (AdicCompletion (IsLocalRing.maximalIdeal A) A) a
Sources
Section10.163 Ascending properties#
Section 10.163 of the Stacks Project, Tag 0336. 10 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0338, a lemma
Tag 0338 in the Stacks Project.
Module.depth_tensorProduct_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Depth/FlatLocalHom.lean, line 814. The attribute's comment: “The fibre N/𝔪_R N has its depth taken over S along 𝔪_S rather than over S/𝔪_R S, which is the same value, and the tensor product is written with N on the left.”. References: EGA IV (6.3.1); EGA IV (6.3.1); EGA IV (6.3.4), “more general”; SGA 2 III (2.11), “special case”.
Depth is additive along a flat local homomorphism. Let
R → Sbe a local homomorphism of Noetherian local rings, letMbe a finiteR-module and letNbe a finiteS-module flat overR. Thendepth_S(N ⊗_R M) = depth_R(M) + depth_S(N/𝔪_R N).
public theorem depth_tensorProduct_of_flat {R S M N : Type*} [CommRing R] [CommRing S]
[IsNoetherianRing R] [IsNoetherianRing S] [IsLocalRing R] [IsLocalRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [AddCommGroup M] [Module R M] [Module.Finite R M]
[AddCommGroup N] [Module R N] [Module S N] [IsScalarTower R S N] [Module.Finite S N]
[Module.Flat R N] :
depth S (maximalIdeal S) (N ⊗[R] M) = depth R (maximalIdeal R) M +
depth S (maximalIdeal S)
(N ⧸ ((maximalIdeal R).map (algebraMap R S) • (⊤ : Submodule S N)))
Tag 0337, a lemma
Tag 0337 in the Stacks Project.
Module.depth_self_eq_depth_self_add_depth_quotient_map_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Depth/FlatLocalHom.lean, line 880. The attribute's comment: “Stated for Module.depth along the maximal ideals (Tag 00LI), with the fibre ring spelled as the S-module S ⧸ 𝔪_R S, of the same depth as the local ring S/𝔪_R S, and with IsNoetherianRing R dropped, being a consequence of faithful flatness. See the module docstring.”. References: EGA IV (6.3.1), “case M = R, N = S”; SGA 2 III (2.11), “M = A”.
Depth is additive along a flat local homomorphism. Let
R → Sbe a flat local homomorphism of local rings withSNoetherian, with maximal ideals𝔪_Rand𝔪_S. Thendepth_{𝔪_S}(S) = depth_{𝔪_R}(R) + depth_{𝔪_S}(S/𝔪_R S), where𝔪_R Sis the ideal ofSgenerated by the image of𝔪_R. The depth of the fibreS/𝔪_R Sis taken overSalong𝔪_S, which is its depth as a local ring in its own right.
public theorem depth_self_eq_depth_self_add_depth_quotient_map_maximalIdeal (R S : Type*)
[CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S] [IsNoetherianRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [Module.Flat R S] :
depth S (IsLocalRing.maximalIdeal S) S =
depth R (IsLocalRing.maximalIdeal R) R +
depth S (IsLocalRing.maximalIdeal S)
(S ⧸ (IsLocalRing.maximalIdeal R).map (algebraMap R S))
Tag 045J, a lemma
Tag 045J in the Stacks Project.
Module.isMaximalCohenMacaulay_self_iff_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/FlatLocalHom.lean, line 455. The attribute's comment: “Cohen-Macaulayness of a Noetherian local ring A (Definition 00N8) is Module.IsMaximalCohenMacaulay A A, i.e. depth_{𝔪_A}(A) = dim A; for the fibre that equation is written out, with its depth taken over S along 𝔪_S as in Tag 0337, since a quotient of a local ring carries no IsLocalRing instance. IsNoetherianRing R is dropped, being a consequence of faithful flatness. See the module docstring.”. References: EGA IV (6.3.5), “CM clauses of (i),(ii)”; EGA IV (15.4.2), “partial”; EGA IV (6.3.3), “Case M = A”.
Cohen–Macaulayness along a flat local homomorphism. Let
R → Sbe a flat local homomorphism of local rings withSNoetherian. ThenSis Cohen–Macaulay, that isdepth_{𝔪_S}(S) = dim(S), if and only ifRis Cohen–Macaulay and the fibre ringS/𝔪_R Sis Cohen–Macaulay, the latter written asdepth_{𝔪_S}(S/𝔪_R S) = dim(S/𝔪_R S)with the depth taken overS, which is the depth ofS/𝔪_R Sas a local ring in its own right.
public theorem isMaximalCohenMacaulay_self_iff_of_flat (R S : Type*) [CommRing R] [CommRing S]
[IsLocalRing R] [IsLocalRing S] [IsNoetherianRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [Module.Flat R S] :
IsMaximalCohenMacaulay S S ↔
IsMaximalCohenMacaulay R R ∧
(depth S (IsLocalRing.maximalIdeal S)
(S ⧸ (IsLocalRing.maximalIdeal R).map (algebraMap R S)) : WithBot ℕ∞) =
ringKrullDim (S ⧸ (IsLocalRing.maximalIdeal R).map (algebraMap R S))
Tag 0339, a lemma
Tag 0339 in the Stacks Project.
min_le_depth_atPrime_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/FlatAscent.lean, line 872. The attribute's comment: “Property (S_k) is spelled out from Definition 031P as the inequality min{k, dim(A_𝔮)} ≤ depth(A_𝔮) at every prime, with Module.depth (Tag 00LI) along the maximal ideal of Localization.AtPrime 𝔮 and ringKrullDim for the dimension, as in Tags 031Q, 031S and 0352, the inequality being read in WithBot ℕ∞; the fibre ring S ⊗_R κ(𝔭) is Ideal.Fiber 𝔭 S, and the ring map is an Algebra R S instance with Module.Flat R S. See the module docstring.”. References: EGA IV (6.4.1), “(ii), affine E=O,F=O”; EGA IV (12.1.5), “(i), F=O_X, G=O_Y”.
Stacks Tag 0339. Let
R → Sbe a flat ring map of Noetherian rings. If every fibre ringκ(𝔭) ⊗_R Shas Serre's property(S_k)andRhas(S_k), thenShas(S_k), property(S_k)of a ring meaning that the depth of its localization at any prime is at least the minimum ofkand the dimension of that localization. The inequalities are read inWithBot ℕ∞.
public theorem min_le_depth_atPrime_of_flat {R : Type u} {S : Type v} [CommRing R] [CommRing S]
[Algebra R S] [IsNoetherianRing R] [IsNoetherianRing S] [Module.Flat R S] {k : ℕ}
(hfibre : ∀ (p : Ideal R) [p.IsPrime] (Q : Ideal (p.Fiber S)) [Q.IsPrime],
min (k : WithBot ℕ∞) (ringKrullDim (Localization.AtPrime Q)) ≤
(Module.depth (Localization.AtPrime Q)
(IsLocalRing.maximalIdeal (Localization.AtPrime Q)) (Localization.AtPrime Q) :
WithBot ℕ∞))
(hR : ∀ (p : Ideal R) [p.IsPrime],
min (k : WithBot ℕ∞) (ringKrullDim (Localization.AtPrime p)) ≤
(Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p)) (Localization.AtPrime p) :
WithBot ℕ∞)) :
∀ (q : Ideal S) [q.IsPrime],
min (k : WithBot ℕ∞) (ringKrullDim (Localization.AtPrime q)) ≤
(Module.depth (Localization.AtPrime q)
(IsLocalRing.maximalIdeal (Localization.AtPrime q)) (Localization.AtPrime q) :
WithBot ℕ∞)
Tag 033A, a lemma
Tag 033A in the Stacks Project.
property_Rk_of_flat_of_fibre_of_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/FlatAscent.lean, line 371. References: EGA IV (6.5.3), “(ii), affine case”; EGA IV (17.5.8), “(iii)”; EGA IV (7.3.8), “(v_n), special case”; SGA 6 X (7.7), “special case”.
Let
φ : R → Sbe a flat ring map between Noetherian rings and fixk ≥ 0. If every fibre ringS ⊗[R] κ(p)has property(R_k)andRhas property(R_k), thenShas property(R_k).
theorem property_Rk_of_flat_of_fibre_of_base
(R S : Type*) [CommRing R] [CommRing S] [Algebra R S]
[IsNoetherianRing R] [IsNoetherianRing S] [Module.Flat R S]
(k : ℕ)
(hfib : ∀ (p : Ideal R) [p.IsPrime], HasPropertyRk (fibreRing R S p) k)
(hR : HasPropertyRk R k) :
HasPropertyRk S k
Tag 0C21, a lemma
Tag 0C21 in the Stacks Project.
isReduced_of_flat_of_isReduced_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/ReducedFibres.lean, line 143. The attribute's comment: “The ring map is an Algebra R S instance with Module.Flat R S, and the fibre ring S ⊗_R κ(𝔭) is Mathlib's Ideal.Fiber 𝔭 S, as in the statements of Tags 0339 and 033A. Reducedness is Mathlib's IsReduced, and the fibre hypothesis is reducedness, not geometric reducedness, so this is not an affine instance of Mathlib's AlgebraicGeometry.GeometricallyReduced.isReduced_of_flat_of_isLocallyNoetherian. See the module docstring.”. References: EGA IV (3.3.5), “affine case”; EGA IV (11.3.13), “(ii) reduced, Noetherian”.
Let
R → Sbe a flat ring map of Noetherian rings. IfRis reduced and every fibre ringκ(𝔭) ⊗_R Sis reduced, thenSis reduced.
public theorem isReduced_of_flat_of_isReduced_fiber {R : Type u} {S : Type v} [CommRing R]
[CommRing S] [Algebra R S] [IsNoetherianRing R] [IsNoetherianRing S] [Module.Flat R S]
[IsReduced R] (hfibre : ∀ (p : Ideal R) [p.IsPrime], IsReduced (p.Fiber S)) :
IsReduced S
Tag 033B, a lemma
Tag 033B in the Stacks Project.
Algebra.isReduced_of_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/Reduced.lean, line 230. The attribute's comment: “The ring map is an Algebra R S instance and smoothness of it is Mathlib's Algebra.Smooth R S (equivalently (algebraMap R S).Smooth, by RingHom.smooth_algebraMap); reducedness is IsReduced. No Noetherian hypothesis, so this is not an instance of Mathlib's AlgebraicGeometry.GeometricallyReduced.isReduced_of_flat_of_isLocallyNoetherian. See the module docstring.”. References: SGA 1 II (3.1), “reduced, O_y ⇒ O_x”.
Stacks Tag 033B. Let
R → Sbe a smooth ring map. IfRis reduced, thenSis reduced.
public theorem Algebra.isReduced_of_smooth (R S : Type*) [CommRing R] [CommRing S] [Algebra R S]
[Algebra.Smooth R S] [IsReduced R] : IsReduced S
Tag 0C22, a lemma
Tag 0C22 in the Stacks Project.
isNormalRing_of_flat_of_isNormalRing_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/NormalFibres.lean, line 395. The attribute's comment: “The ring map is an Algebra R S instance with Module.Flat R S, and the fibre ring S ⊗_R κ(𝔭) is Mathlib's Ideal.Fiber 𝔭 S, as in the companion statements 0C21 and 0339. Normality is the library's IsNormalRing (Definition 00GV), definitionally the IsDomain plus IsIntegrallyClosed condition on Localization.AtPrime 𝔮 that tags 030C(1), 031S and 033G write out, and the fibre hypothesis is normality, not geometric normality. Mathlib has neither a normal-ring predicate nor this ascent. See the module docstring.”. References: EGA IV (6.5.4), “(ii), affine case”; EGA IV (6.5.4), “(ii), affine case”.
Stacks Tag 0C22. Let
R → Sbe a flat ring map of Noetherian rings. IfRis a normal ring and every fibre ringκ(𝔭) ⊗_R Sis a normal ring, thenSis a normal ring.
public theorem isNormalRing_of_flat_of_isNormalRing_fiber {R : Type u} {S : Type v} [CommRing R]
[CommRing S] [Algebra R S] [IsNoetherianRing R] [IsNoetherianRing S] [Module.Flat R S]
(hR : IsNormalRing R) (hfibre : ∀ (p : Ideal R) [p.IsPrime], IsNormalRing (p.Fiber S)) :
IsNormalRing S
Tag 033C, a lemma
Tag 033C in the Stacks Project.
Algebra.isNormalRing_of_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/Normal.lean, line 60. References: SGA 1 II (3.1), “normal, O_y ⇒ O_x”.
Stacks 033C. A smooth algebra over a normal ring is a normal ring.
theorem Algebra.isNormalRing_of_smooth (R S : Type*) [CommRing R] [CommRing S] [Algebra R S]
[Algebra.Smooth R S] (hR : IsNormalRing R) : IsNormalRing S
Tag 07NF, a lemma
Tag 07NF in the Stacks Project.
Algebra.isRegularRing_of_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Smooth/RegularRing.lean, line 189. The attribute's comment: “The ring map is an Algebra R S instance and smoothness of it is Mathlib's Algebra.Smooth R S (equivalently (algebraMap R S).Smooth, by RingHom.smooth_algebraMap), as in the companion statements 033B and 033C; regularity is Mathlib's IsRegularRing, Definition 00OD verbatim, which already contains Noetherianness, so the source's standing convention that a regular ring is Noetherian is carried by the predicate on both sides. Mathlib has the polynomial case and transport along ring equivalences, but no ascent along a smooth map. See the module docstring.”. References: SGA 1 II (3.1), “regular, O_y ⇒ O_x”.
Regularity ascends along smooth maps of rings (Stacks Tag 07NF). Let
R → Sbe a smooth ring map. IfRis a regular ring, thenSis a regular ring.
public theorem Algebra.isRegularRing_of_smooth (R S : Type*) [CommRing R] [CommRing S]
[Algebra R S] [Algebra.Smooth R S] [IsRegularRing R] : IsRegularRing S
Sources
Section10.164 Descending properties#
Section 10.164 of the Stacks Project, Tag 033D. 7 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 033E, a lemma
Tag 033E in the Stacks Project.
descent_noetherian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 300. References: EGA 0 (6.5.2), “special case”; EGA IV (2.2.14), “affine source and target”.
Stacks 033E. If
φ : R → Sis faithfully flat andSis Noetherian, thenRis Noetherian.
theorem descent_noetherian {R S : Type*} [CommRing R] [CommRing S] (φ : R →+* S)
(hφ : φ.FaithfullyFlat) (hS : IsNoetherianRing S) : IsNoetherianRing R
Tag 033F, a lemma
Tag 033F in the Stacks Project.
RingHom.FaithfullyFlat.isReduced, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 309. References: EGA IV (11.3.13), “(i), reduced case”.
Stacks 033F. If
φ : R → Sis a faithfully flat ring map andSis reduced, thenRis reduced.
theorem RingHom.FaithfullyFlat.isReduced {R S : Type*} [CommRing R] [CommRing S] {φ : R →+* S}
(hφ : φ.FaithfullyFlat) [IsReduced S] : IsReduced R
Tag 033G, a lemma
Tag 033G in the Stacks Project.
isDomain_and_isIntegrallyClosed_atPrime_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/IntegrallyClosed/FaithfullyFlatDescent.lean, line 232. The attribute's comment: “Normality is inlined as IsDomain plus IsIntegrallyClosed on Localization.AtPrime 𝔭 for every prime 𝔭, as in item (1) of tag 030C and in tag 031S, Mathlib having no predicate for a normal ring; the ring map R → S is an Algebra R S instance and its faithful flatness is Module.FaithfullyFlat R S. See the module docstring.”. References: EGA IV (6.5.4), “(i), affine case”; EGA IV (2.1.13), “special case”; EGA IV (7.5.3), “(vi)”.
Stacks 033G. Let
R → Sbe a faithfully flat ring map. IfSis a normal ring, i.e. all its localizations at primes are normal domains, then so isR.
public theorem isDomain_and_isIntegrallyClosed_atPrime_of_faithfullyFlat {R : Type*} [CommRing R]
{S : Type*} [CommRing S] [Algebra R S] [Module.FaithfullyFlat R S]
(hS : ∀ (q : Ideal S) [q.IsPrime],
IsDomain (Localization.AtPrime q) ∧ IsIntegrallyClosed (Localization.AtPrime q)) :
∀ (p : Ideal R) [p.IsPrime],
IsDomain (Localization.AtPrime p) ∧ IsIntegrallyClosed (Localization.AtPrime p)
Tag 07NG, a lemma
Tag 07NG in the Stacks Project.
IsRegularRing.of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RegularRing/FaithfullyFlatDescent.lean, line 173. The attribute's comment: “The source's "regular ring" is Mathlib's class IsRegularRing (Definition 00OD), which already includes Noetherianness, so the Noetherianness of R that the source derives from Lemma 033E is part of the conclusion; the ring map R → S is an Algebra R S instance and its faithful flatness is Module.FaithfullyFlat R S, equal to (algebraMap R S).FaithfullyFlat by RingHom.faithfullyFlat_algebraMap_iff. See the module docstring.”.
Regularity descends along a faithfully flat ring map (Stacks 07NG). Let
R → Sbe a ring map. If it is faithfully flat andSis a regular ring, thenRis a regular ring.
public theorem IsRegularRing.of_faithfullyFlat {R : Type u} (S : Type v) [CommRing R] [CommRing S]
[Algebra R S] [Module.FaithfullyFlat R S] [IsRegularRing S] : IsRegularRing R
Tag 0352, a lemma
Tag 0352 in the Stacks Project.
isNoetherianRing_and_min_le_depth_atPrime_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/FaithfullyFlatDescent.lean, line 332. The attribute's comment: “Property (S_k) is spelled out from Definition 031P as the inequality min{k, dim(R_𝔭)} ≤ depth(R_𝔭) at every prime, with Module.depth (tag 00LI) along the maximal ideal of Localization.AtPrime 𝔭 and ringKrullDim for the dimension, as in tags 031Q and 031S, the inequality being read in WithBot ℕ∞; the ring map R → S is an Algebra R S instance and its faithful flatness is Module.FaithfullyFlat R S. See the module docstring.”. References: EGA IV (6.4.1), “(i), affine E=O,F=O”.
Stacks Tag 0352. Let
R → Sbe a ring map. If it is faithfully flat andSis Noetherian with property(S_k)— the depth ofS_𝔮is at leastmin{k, dim(S_𝔮)}for every prime𝔮— thenRis Noetherian and has property(S_k). The depth inequalities are read inWithBot ℕ∞.
public theorem isNoetherianRing_and_min_le_depth_atPrime_of_faithfullyFlat
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S]
[Module.FaithfullyFlat R S] [IsNoetherianRing S] {k : ℕ}
(hS : ∀ (q : Ideal S) [q.IsPrime],
min (k : WithBot ℕ∞) (ringKrullDim (Localization.AtPrime q)) ≤
(Module.depth (Localization.AtPrime q)
(IsLocalRing.maximalIdeal (Localization.AtPrime q)) (Localization.AtPrime q) :
WithBot ℕ∞)) :
IsNoetherianRing R ∧
∀ (p : Ideal R) [p.IsPrime],
min (k : WithBot ℕ∞) (ringKrullDim (Localization.AtPrime p)) ≤
(Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p)) (Localization.AtPrime p) :
WithBot ℕ∞)
Tag 0353, a lemma
Tag 0353 in the Stacks Project.
isNoetherianRing_and_isRegularLocalRing_atPrime_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Serre/FaithfullyFlatDescent.lean, line 544. The attribute's comment: “Property (R_k) is spelled out from Definition 031P as the implication height 𝔭 ≤ k → IsRegularLocalRing (Localization.AtPrime 𝔭), with Ideal.height and IsRegularLocalRing, as in tag 031S; the source's dim(R_𝔭) ≤ k is Ideal.height 𝔭 ≤ k by IsLocalization.AtPrime.ringKrullDim_eq_height. The bound k is generalized from a non-negative integer to an element of ℕ∞, whose top value recovers tag 07NG. The ring map R → S is an Algebra R S instance and its faithful flatness is Module.FaithfullyFlat R S. See the module docstring.”. References: EGA IV (6.5.3), “(i), affine case”.
Stacks Tag 0353. Let
R → Sbe a ring map. If it is faithfully flat andSis Noetherian with property(R_k)— the local ringS_𝔮is regular for every prime𝔮of height at mostk— thenRis Noetherian and has property(R_k). The boundkranges overℕ∞, the value⊤giving the descent of regularity itself (tag 07NG).
public theorem isNoetherianRing_and_isRegularLocalRing_atPrime_of_faithfullyFlat
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S]
[Module.FaithfullyFlat R S] [IsNoetherianRing S] {k : ℕ∞}
(hS : ∀ (q : Ideal S) [q.IsPrime], q.height ≤ k →
IsRegularLocalRing (Localization.AtPrime q)) :
IsNoetherianRing R ∧
∀ (p : Ideal R) [p.IsPrime], p.height ≤ k →
IsRegularLocalRing (Localization.AtPrime p)
Tag 0354, a lemma
Tag 0354 in the Stacks Project.
IsNagataRing.of_smooth_of_comap_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nagata/SmoothDescent.lean, line 266. The attribute's comment: “Smoothness of the ring map R → S is Algebra.Smooth R S (Definition 00T2) for an Algebra R S instance, and surjectivity on spectra is surjectivity of PrimeSpectrum.comap (algebraMap R S); the pair is equivalent to smooth plus Module.FaithfullyFlat R S. Nagata is IsNagataRing of Definition 032R(2), whose Noetherian clause is part of the conclusion rather than a hypothesis on R. See the module docstring.”.
Stacks Tag 0354. Let
R → Sbe a ring map. If it is smooth and the induced mapSpec S → Spec Ris surjective, andSis a Nagata ring — Noetherian, with every quotientS ⧸ qby a prime N-2 — thenRis a Nagata ring.Smoothness is
Algebra.Smooth(Definition 00T2), and together with surjectivity on spectra it is equivalent toR → Sbeing smooth and faithfully flat, byAlgebra.Smooth.flatandModule.FaithfullyFlat.of_comap_surjective.
public theorem IsNagataRing.of_smooth_of_comap_surjective {R S : Type u} [CommRing R]
[CommRing S] [Algebra R S] [Algebra.Smooth R S]
(hsurj : Function.Surjective (PrimeSpectrum.comap (algebraMap R S)))
(hS : IsNagataRing S) : IsNagataRing R
Sources
Section10.165 Geometrically normal algebras#
Section 10.165 of the Stacks Project, Tag 037Y. 6 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 037Z, a lemma
Tag 037Z in the Stacks Project.
Algebra.isNormalRing_tensorProduct_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyNormal/TFAE.lean, line 608. The attribute's comment: “The source's four conditions in its order, with a normal ring spelled by the library's IsNormalRing (Definition 00GV), a finitely generated field extension by Algebra.EssFiniteType, and the perfect closure taken abstractly, as IsPerfectClosure.”.
Stacks 037Z. Let
kbe a field of exponential characteristicpand letAbe a commutativek-algebra. The following are equivalent: (1)k' ⊗[k] Ais a normal ring for every field extensionk'/k; (2)k' ⊗[k] Ais a normal ring for every finitely generated field extensionk'/k; (3)k' ⊗[k] Ais a normal ring for every finite purely inseparable extensionk'/k; (4)k^{perf} ⊗[k] Ais a normal ring, for a perfect closurek^{perf}ofk.
public theorem isNormalRing_tensorProduct_tfae
(k : Type u) [Field k] (p : ℕ) [ExpChar k p] (A : Type v) [CommRing A] [Algebra k A]
(kperf : Type w) [Field kperf] [Algebra k kperf] [ExpChar kperf p] [PerfectRing kperf p]
[IsPerfectClosure (algebraMap k kperf) p] :
[∀ (k' : Type u) [Field k'] [Algebra k k'], IsNormalRing (k' ⊗[k] A),
∀ (k' : Type u) [Field k'] [Algebra k k'] [EssFiniteType k k'],
IsNormalRing (k' ⊗[k] A),
∀ (k' : Type u) [Field k'] [Algebra k k'] [FiniteDimensional k k']
[IsPurelyInseparable k k'], IsNormalRing (k' ⊗[k] A),
IsNormalRing (kperf ⊗[k] A)].TFAE
Tag 0380, a definition
Tag 0380 in the Stacks Project.
Algebra.IsGeometricallyNormal, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyNormal/Defs.lean, line 111. The attribute's comment: “The first of the four equivalent conditions of Lemma 037Z, a normal ring being spelled by the library's IsNormalRing (Definition 00GV); the other three are criteria for it, through Algebra.isNormalRing_tensorProduct_tfae.”. References: EGA IV (6.7.6).
A commutative algebra
Aover a fieldkis geometrically normal overkif the base changek' ⊗[k] Ais a normal ring for every field extensionk'/k. By Lemma 037Z it is enough to ask this for the finitely generated extensions, or for the finite purely inseparable ones, or for a single perfect closure ofk.
public class IsGeometricallyNormal (k : Type u) (A : Type v) [Field k] [CommRing A]
[Algebra k A] : Prop
Tag 06DE, a lemma
Tag 06DE in the Stacks Project.
Algebra.IsGeometricallyNormal.of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyNormal/Localization.lean, line 81. The attribute's comment: “The source's S⁻¹A is spelled abstractly as an A-algebra A' with IsLocalization S A' and IsScalarTower k A A', so that the fraction field of a domain and the localizations at primes are instances of the statement rather than transports of it.”.
A localization of a geometrically normal algebra over a field is geometrically normal: if
Ais geometrically normal over the fieldkandA'is the localization ofAat a submonoidS ⊆ A, regarded as ak-algebra throughA, thenA'is geometrically normal overk.
public theorem IsGeometricallyNormal.of_isLocalization {k : Type u} {A : Type v} {A' : Type w}
[Field k] [CommRing A] [CommRing A'] [Algebra k A] [Algebra k A'] [Algebra A A']
[IsScalarTower k A A'] [IsGeometricallyNormal k A] (S : Submonoid A) [IsLocalization S A'] :
IsGeometricallyNormal k A'
Tag 0C30, a lemma
Tag 0C30 in the Stacks Project.
Algebra.IsGeometricallyNormal.of_isSeparableExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyNormal/Separable.lean, line 216. The attribute's comment: “Separability is the source's Definition 030O (2), Algebra.IsSeparableExtension, which does not require K/k algebraic, and not Mathlib's Algebra.IsSeparable; the converse implication is Proposition 0322 and is not part of this tag.”. References: EGA IV (6.7.6), “separable ⇒ geom normal”.
A separable field extension is geometrically normal: if
K/kis a field extension all of whose finitely generated subextensions are separably generated (Definition 030O (2)), thenk' ⊗[k] Kis a normal ring for every field extensionk'/k.
public theorem IsGeometricallyNormal.of_isSeparableExtension {k K : Type*} [Field k] [Field K]
[Algebra k K] [IsSeparableExtension k K] : IsGeometricallyNormal k K
Tag 06DF, a lemma
Tag 06DF in the Stacks Project.
Algebra.IsGeometricallyNormal.isNormalRing_tensorProduct_of_isNormalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyNormal/TensorProduct.lean, line 468. References: EGA IV (21.14.4), “special case”.
Stacks 06DF. The tensor product over a field
kof a geometrically normalk-algebra and a normalk-algebra is a normal ring.
theorem Algebra.IsGeometricallyNormal.isNormalRing_tensorProduct_of_isNormalRing (k : Type u)
(A : Type v) (B : Type w) [Field k] [CommRing A] [CommRing B] [Algebra k A] [Algebra k B]
[Algebra.IsGeometricallyNormal k A] (hB : IsNormalRing B) : IsNormalRing (A ⊗[k] B)
Tag 0C31, a lemma
Tag 0C31 in the Stacks Project.
Algebra.isGeometricallyNormal_iff_of_isSeparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyNormal/Separable.lean, line 228. The attribute's comment: “Separable algebraic is Mathlib's Algebra.IsSeparable k k', which includes algebraicity; the k-algebra structure of A is the restriction of its k'-algebra structure.”.
Stacks 0C31. For a separable algebraic field extension
k'/k, ak'-algebraAis geometrically normal overkif and only if it is geometrically normal overk'. Both directions are tested on finite purely inseparable extensionsL(Lemma 037Z). Overk', the ringL ⊗[k'] Ais a localization ofL ⊗[k] A(Lemma 0C2X). Overk, the ringk' ⊗[k] Lis a field andL ⊗[k] A = (k' ⊗[k] L) ⊗[k'] A.
public theorem isGeometricallyNormal_iff_of_isSeparable (k k' A : Type*) [Field k] [Field k']
[CommRing A] [Algebra k k'] [Algebra k A] [Algebra k' A] [IsScalarTower k k' A]
[Algebra.IsSeparable k k'] : IsGeometricallyNormal k A ↔ IsGeometricallyNormal k' A
Sources
Section10.166 Geometrically regular algebras#
Section 10.166 of the Stacks Project, Tag 045K. 6 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0381, a lemma
Tag 0381 in the Stacks Project.
Algebra.forall_isRegularRing_tensorProduct_essFiniteType_iff_finite_isPurelyInseparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FieldExtension.lean, line 160. The attribute's comment: “Regular ring is Definition 00OD, that is Mathlib's IsRegularRing, which already contains Noetherianness; a finitely generated field extension is Algebra.EssFiniteType (IntermediateField.fg_top_iff) and a finite purely inseparable one is Module.Finite together with IsPurelyInseparable. The source's hypothesis that A be Noetherian is not assumed: it is implied by either side, since A ≃ₐ[k] k ⊗[k] A. The extension fields range over a single free universe, w := u giving the source's statement in full. See the module docstring.”. References: EGA 0 (22.5.8), “b) ⇔ b')”; EGA IV (6.7.7), “(b) ⇔ (c), special case”.
Regularity of all base changes to finitely generated field extensions is detected by the finite purely inseparable ones. Let
kbe a field andAak-algebra. ThenK ⊗[k] Ais a regular ring (Definition 00OD) for every finitely generated field extensionK/kif and only ifk' ⊗[k] Ais a regular ring for every finite purely inseparable extensionk'/k.
public theorem forall_isRegularRing_tensorProduct_essFiniteType_iff_finite_isPurelyInseparable
(k : Type u) (A : Type v) [Field k] [CommRing A] [Algebra k A] :
(∀ (K : Type w) [Field K] [Algebra k K] [Algebra.EssFiniteType k K],
IsRegularRing (K ⊗[k] A)) ↔
∀ (K : Type w) [Field K] [Algebra k K] [Module.Finite k K] [IsPurelyInseparable k K],
IsRegularRing (K ⊗[k] A)
Tag 0382, a definition
Tag 0382 in the Stacks Project.
Algebra.IsGeometricallyRegular, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/Defs.lean, line 140. The attribute's comment: “Stated as condition (1) of Lemma 0381; condition (2) follows by instance resolution and the converse is that lemma. Regular ring is Definition 00OD, that is Mathlib's IsRegularRing, which already contains Noetherianness, so the source's hypothesis that R be Noetherian is not assumed but implied (take K := k). A finitely generated field extension is Algebra.EssFiniteType (IntermediateField.essFiniteType_iff), and the test field ranges over the universe of k, which is the source's condition for extensions in every universe. See the module docstring.”. References: EGA IV (6.7.6).
A
k-algebraRover a fieldkis geometrically regular overkifK ⊗[k] Ris a regular ring (Definition 00OD) for every finitely generated field extensionK/k. By Lemma 0381 it is enough to require this for the finite purely inseparable extensionsk'/k.
public class IsGeometricallyRegular (k : Type u) (R : Type v) [Field k] [CommRing R]
[Algebra k R] : Prop
Tag 07NH, a lemma
Tag 07NH in the Stacks Project.
Algebra.IsGeometricallyRegular.of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FaithfullyFlatDescent.lean, line 79. The attribute's comment: “The source's faithfully flat k-algebra map A → B is Algebra A B with IsScalarTower k A B and Module.FaithfullyFlat A B, the latter being (algebraMap A B).FaithfullyFlat by RingHom.faithfullyFlat_algebraMap_iff; geometric regularity is Algebra.IsGeometricallyRegular (Definition 0382), which already implies the Noetherianness the source assumes. Named after the sibling 07NG, IsRegularRing.of_faithfullyFlat. See the module docstring.”.
Geometric regularity descends through faithfully flat maps of algebras. Let
kbe a field and letA → Bbe a faithfully flat map ofk-algebras. IfBis geometrically regular overk, then so isA.
public theorem IsGeometricallyRegular.of_faithfullyFlat {k : Type u} {A : Type v} (B : Type w)
[Field k] [CommRing A] [CommRing B] [Algebra k A] [Algebra k B] [Algebra A B]
[IsScalarTower k A B] [Module.FaithfullyFlat A B] [IsGeometricallyRegular k B] :
IsGeometricallyRegular k A
Tag 07QF, a lemma
Tag 07QF in the Stacks Project.
Algebra.IsGeometricallyRegular.of_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/Smooth.lean, line 89. The attribute's comment: “The source's smooth k-algebra map A → B is Algebra A B with IsScalarTower k A B and Algebra.Smooth A B, the latter being (algebraMap A B).Smooth by RingHom.smooth_algebraMap and being Definition 00T2 by Proposition 00TN; geometric regularity is Algebra.IsGeometricallyRegular (Definition 0382), which already implies the Noetherianness Definition 0382 assumes. Named after the sibling 07NH, IsGeometricallyRegular.of_faithfullyFlat. See the module docstring.”.
Geometric regularity ascends along smooth maps of algebras. Let
kbe a field and letA → Bbe a smooth map ofk-algebras. IfAis geometrically regular overk, then so isB.
public theorem IsGeometricallyRegular.of_smooth {k : Type u} (A : Type v) {B : Type w}
[Field k] [CommRing A] [CommRing B] [Algebra k A] [Algebra k B] [Algebra A B]
[IsScalarTower k A B] [Algebra.Smooth A B] [IsGeometricallyRegular k A] :
IsGeometricallyRegular k B
Tag 07QG, a lemma
Tag 07QG in the Stacks Project.
Algebra.IsGeometricallyRegular.of_directed_of_iSup_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/Colimit.lean, line 171. The attribute's comment: “The source's k = colim k_i over subfields is a directed family t : ι → Subfield k with ⨆ i, t i = ⊤, equivalently (Subfield.mem_iSup_of_directed) every element of k lying in some t i; Nonempty ι is necessary, since for ι empty and k a prime field the supremum is ⊤ and the hypothesis vacuous. A is a t i-algebra by restriction of scalars along t i ↪ k (IsScalarTower ↥(t i) k A), and geometric regularity is Algebra.IsGeometricallyRegular (Definition 0382), which already implies the Noetherianness Definition 0382 assumes. See the module docstring.”.
Let
kbe a field,Aak-algebra, and lett : ι → Subfield kbe a nonempty directed family of subfields ofkwith⨆ i, t i = ⊤, that is,k = colim (t i). IfAis geometrically regular over everyt i, thenAis geometrically regular overk.
public theorem IsGeometricallyRegular.of_directed_of_iSup_eq_top {k : Type u} {A : Type v}
{ι : Type w} [Nonempty ι] [Field k] [CommRing A] [Algebra k A] (t : ι → Subfield k)
(dir : Directed (· ≤ ·) t) (htop : ⨆ i, t i = ⊤)
[∀ i, IsGeometricallyRegular (t i) A] :
IsGeometricallyRegular k A
Tag 07QH, a lemma
Tag 07QH in the Stacks Project.
Algebra.isGeometricallyRegular_iff_tower_top_of_isSeparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/BaseFieldExtension.lean, line 219. The attribute's comment: “The source's separable algebraic extension k'/k is Algebra.IsSeparable k k', which already contains algebraicity (Algebra.IsSeparable.isAlgebraic); no finiteness is assumed, the reduction to the finite case being internal to the proof (Lemma 07QG). A being an algebra over k' and over k at once is IsScalarTower k k' A, which pins the k-structure to be the restriction of the k'-structure. Geometric regularity is Algebra.IsGeometricallyRegular (Definition 0382), which already implies the Noetherianness Definition 0382 assumes. Named after Mathlib's Algebra.isSeparable_tower_top_of_isSeparable, tower_top naming the right-hand side. See the module docstring.”.
Let
k'/kbe a separable algebraic field extension and letAbe ak'-algebra, viewed as ak-algebra by restriction of scalars. ThenAis geometrically regular overkif and only if it is geometrically regular overk'.
public theorem isGeometricallyRegular_iff_tower_top_of_isSeparable (k : Type u) (k' : Type v)
(A : Type w) [Field k] [Field k'] [CommRing A] [Algebra k k'] [Algebra k A] [Algebra k' A]
[IsScalarTower k k' A] [Algebra.IsSeparable k k'] :
IsGeometricallyRegular k A ↔ IsGeometricallyRegular k' A
Sources
Section10.167 Geometrically Cohen-Macaulay algebras#
Section 10.167 of the Stacks Project, Tag 045L. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 045M, a lemma
Tag 045M in the Stacks Project.
Algebra.TensorProduct.isNoetherianRing_and_isCohenMacaulay_of_essFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/FieldExtension.lean, line 403. The attribute's comment: “Finite generation of a field extension is Algebra.EssFiniteType (IntermediateField.fg_top_iff), and "one of them" is the disjunction h. Cohen-Macaulayness of the ring (Definition 00NC) is Module.IsCohenMacaulay R R for R = K ⊗[k] L, the notion of tag 0AAH for R over itself, which at each prime is Cohen-Macaulayness of R_𝔭. See the module docstring.”. References: EGA IV (6.7.1.1).
Stacks 045M. Let
kbe a field and letK/kandL/kbe field extensions one of which is of finite type as a field extension. ThenK ⊗[k] Lis a Noetherian Cohen–Macaulay ring.
public theorem Algebra.TensorProduct.isNoetherianRing_and_isCohenMacaulay_of_essFiniteType
(k K L : Type*) [Field k] [Field K] [Field L] [Algebra k K] [Algebra k L]
(h : Algebra.EssFiniteType k K ∨ Algebra.EssFiniteType k L) :
IsNoetherianRing (K ⊗[k] L) ∧ Module.IsCohenMacaulay (K ⊗[k] L) (K ⊗[k] L)
Tag 045N, a lemma
Tag 045N in the Stacks Project.
Algebra.TensorProduct.isMaximalCohenMacaulay_self_iff_of_essFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/FieldExtension.lean, line 772. The attribute's comment: “Cohen-Macaulayness of a Noetherian local ring (Definition 00N8) is Module.IsMaximalCohenMacaulay A A (Tag 00NF); finite generation of the field extension is Algebra.EssFiniteType k K (IntermediateField.fg_top_iff), as in Tag 045M; both localisations are abstract IsLocalization.AtPrimes as in Tag 00ND; lying over is contraction along Algebra.TensorProduct.includeRight, there being no Algebra S (K ⊗[k] S) instance; and IsNoetherianRing (K ⊗[k] S) is not assumed, being a consequence by Tag 045I. See the module docstring.”. References: EGA IV (6.7.1), “(i), CM, affine”; EGA IV (6.7.1.1), “more general”.
Stacks 045N. Let
kbe a field,Sa Noetheriank-algebra andK/ka finitely generated field extension. Let𝔮 ⊆ Sbe a prime and let𝔮_K ⊆ K ⊗[k] Sbe a prime lying over it alongs ↦ 1 ⊗ s. Then the local ringS_𝔮is Cohen–Macaulay, that isdepth_{𝔪}(S_𝔮) = dim S_𝔮, if and only if the local ring(K ⊗[k] S)_{𝔮_K}is.
public theorem Algebra.TensorProduct.isMaximalCohenMacaulay_self_iff_of_essFiniteType
{k S : Type*} [Field k] [CommRing S] [Algebra k S] [IsNoetherianRing S]
{K : Type*} [Field K] [Algebra k K] [Algebra.EssFiniteType k K]
(q : Ideal S) [q.IsPrime] (qK : Ideal (K ⊗[k] S)) [qK.IsPrime]
(hqK : q = qK.comap Algebra.TensorProduct.includeRight.toRingHom)
(Sq : Type*) [CommRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq q] [IsLocalRing Sq]
(SKqK : Type*) [CommRing SKqK] [Algebra (K ⊗[k] S) SKqK]
[IsLocalization.AtPrime SKqK qK] [IsLocalRing SKqK] :
Module.IsMaximalCohenMacaulay Sq Sq ↔ Module.IsMaximalCohenMacaulay SKqK SKqK
Sources
Section10.168 Colimits and maps of finite presentation, II#
Section 10.168 of the Stacks Project, Tag 07RF. 10 tags here are carried by 14 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02JO, a lemma
Tag 02JO in the Stacks Project.
Module.Flat.eventually_flat_of_directed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/FlatModel/DirectedModel.lean, line 786. The attribute's comment: “(3)”. References: EGA IV (11.2.6), “affine case, (ii)”; EGA IV (11.2.6.1), “(ii) necessity”.
Stacks 02JO (3). Let
R → Sbe of finite presentation and letMbe a finitely presentedS-module which is flat overR. Let(R → S, M) = colim_λ (R_λ → S_λ, M_λ)be a directed colimit such thatR_μ ⊗_{R_λ} S_λ → S_μandS_μ ⊗_{S_λ} M_λ → M_μare isomorphisms forμ ≥ λ, eachR_λ → S_λis of finite presentation and eachM_λis a finitely presentedS_λ-module. ThenM_λis flat overR_λfor all sufficiently largeλ.
theorem Module.Flat.eventually_flat_of_directed {R S : Type u} [CommRing R] [CommRing S]
[Algebra R S] [Algebra.FinitePresentation R S] (M : Type w) [AddCommGroup M] [Module R M]
[Module S M] [IsScalarTower R S M] [Module.FinitePresentation S M] [Module.Flat R M]
{ι : Type*} [Preorder ι] [Nonempty ι] [IsDirected ι (· ≤ ·)]
{A B : ι → Type v} [∀ i, CommRing (A i)] [∀ i, CommRing (B i)] [∀ i, Algebra (A i) (B i)]
{N : ι → Type*} [∀ i, AddCommGroup (N i)] [∀ i, Module (B i) (N i)]
(a : ∀ i j, i ≤ j → A i →+* A j) (b : ∀ i j, i ≤ j → B i →+* B j)
(n : ∀ i j (h : i ≤ j), N i →ₛₗ[b i j h] N j)
[DirectedSystem A fun i j h => a i j h] [DirectedSystem B fun i j h => b i j h]
[DirectedSystem N fun i j h => n i j h]
(hab : ∀ i j (h : i ≤ j),
(b i j h).comp (algebraMap (A i) (B i)) = (algebraMap (A j) (B j)).comp (a i j h))
(ρ : ∀ i, A i →+* R) (σ : ∀ i, B i →+* S) (ν : ∀ i, N i →ₛₗ[σ i] M)
(hρ : ∀ i j (h : i ≤ j) x, ρ j (a i j h x) = ρ i x)
(hσ : ∀ i j (h : i ≤ j) x, σ j (b i j h x) = σ i x)
(hν : ∀ i j (h : i ≤ j) x, ν j (n i j h x) = ν i x)
(hρσ : ∀ i, (σ i).comp (algebraMap (A i) (B i)) = (algebraMap R S).comp (ρ i))
(hρs : ∀ r, ∃ i x, ρ i x = r) (hρz : ∀ i x, ρ i x = 0 → ∃ j, ∃ h : i ≤ j, a i j h x = 0)
(hσs : ∀ s, ∃ i x, σ i x = s) (hσz : ∀ i x, σ i x = 0 → ∃ j, ∃ h : i ≤ j, b i j h x = 0)
(hνs : ∀ m, ∃ i x, ν i x = m) (hνz : ∀ i x, ν i x = 0 → ∃ j, ∃ h : i ≤ j, n i j h x = 0)
(hpush : ∀ i j (h : i ≤ j), CategoryTheory.IsPushout (CommRingCat.ofHom (a i j h))
(CommRingCat.ofHom (algebraMap (A i) (B i))) (CommRingCat.ofHom (algebraMap (A j) (B j)))
(CommRingCat.ofHom (b i j h)))
(hbc : ∀ i j (h : i ≤ j), letI := algebraB b h
letI := Module.compHom (N j) (b i j h)
haveI : IsScalarTower (B i) (B j) (N j) := .of_algebraMap_smul fun _ _ => rfl
IsBaseChange (B j) (transLinear b n h))
(hfp : ∀ i, Algebra.FinitePresentation (A i) (B i))
(hfpN : ∀ i, Module.FinitePresentation (B i) (N i)) :
∃ i, ∀ j, i ≤ j →
letI := Module.compHom (N j) (algebraMap (A j) (B j)); Module.Flat (A j) (N j)
Module.Flat.exists_finiteType_model, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/FlatModel/FiniteTypeModel.lean, line 254. The attribute's comment: “(1)”.
Stacks 02JO (1). Let
R → Sbe of finite presentation and letMbe a finitely presentedS-module which is flat overR. Then there are a ringR₀of finite type overℤ, anR₀-algebraS₀of finite type and a finiteS₀-moduleM₀flat overR₀, together with ring mapsR₀ → R,S₀ → Sand anS₀-linear mapM₀ → M, such thatS = R ⊗_{R₀} S₀andM = S ⊗_{S₀} M₀.
theorem Module.Flat.exists_finiteType_model {R S : Type u} [CommRing R] [CommRing S]
[Algebra R S] [Algebra.FinitePresentation R S] (M : Type w) [AddCommGroup M] [Module R M]
[Module S M] [IsScalarTower R S M] [Module.FinitePresentation S M] [Module.Flat R M] :
∃ (R₀ S₀ M₀ : Type u) (_ : CommRing R₀) (_ : CommRing S₀) (_ : Algebra R₀ S₀)
(_ : Algebra R₀ R) (_ : Algebra S₀ S) (_ : Algebra R₀ S) (_ : IsScalarTower R₀ R S)
(_ : IsScalarTower R₀ S₀ S) (_ : AddCommGroup M₀) (_ : Module S₀ M₀) (_ : Module R₀ M₀)
(_ : IsScalarTower R₀ S₀ M₀) (_ : Module S₀ M) (_ : IsScalarTower S₀ S M)
(f : M₀ →ₗ[S₀] M),
Algebra.FiniteType ℤ R₀ ∧ Algebra.FiniteType R₀ S₀ ∧ Module.Finite S₀ M₀ ∧
Module.Flat R₀ M₀ ∧ Algebra.IsPushout R₀ R S₀ S ∧ IsBaseChange S f
Module.Flat.exists_finitePresentation_model_of_directed, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/FlatModel/FiniteTypeModel.lean, line 288. The attribute's comment: “(2)”. References: EGA IV (1.8.4.2).
Stacks 02JO (2). Let
R → Sbe of finite presentation and letMbe a finitely presentedS-module which is flat overR. IfR = colim_λ R_λis a directed colimit, then there areλ, anR_λ-algebraS_λof finite presentation and a finitely presentedS_λ-moduleM_λwhich is flat overR_λ, with an algebra mapS_λ → Sand anS_λ-linear mapM_λ → MexhibitingS = R ⊗_{R_λ} S_λandM = S ⊗_{S_λ} M_λ.
theorem Module.Flat.exists_finitePresentation_model_of_directed {R S : Type u} [CommRing R]
[CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] (M : Type w) [AddCommGroup M]
[Module R M] [Module S M] [IsScalarTower R S M] [Module.FinitePresentation S M]
[Module.Flat R M] {ι : Type*} [Preorder ι] [Nonempty ι] [IsDirected ι (· ≤ ·)]
{A : ι → Type v} [∀ i, CommRing (A i)] (a : ∀ i j, i ≤ j → A i →+* A j)
[DirectedSystem A fun i j h => a i j h] (ρ : ∀ i, A i →+* R)
(hρ : ∀ i j (h : i ≤ j) x, ρ j (a i j h x) = ρ i x) (hs : ∀ r, ∃ i x, ρ i x = r)
(hz : ∀ i x, ρ i x = 0 → ∃ j, ∃ h : i ≤ j, a i j h x = 0) :
∃ i, letI := (ρ i).toAlgebra
∃ (T P : Type (max u v)) (_ : CommRing T) (_ : Algebra (A i) T) (_ : Algebra T S)
(_ : Algebra (A i) S) (_ : IsScalarTower (A i) R S) (_ : IsScalarTower (A i) T S)
(_ : AddCommGroup P) (_ : Module T P) (_ : Module (A i) P) (_ : IsScalarTower (A i) T P)
(_ : Module T M) (_ : IsScalarTower T S M) (f : P →ₗ[T] M),
Algebra.FinitePresentation (A i) T ∧ Module.FinitePresentation T P ∧
Module.Flat (A i) P ∧ Algebra.IsPushout (A i) R T S ∧ IsBaseChange S f
Module.Flat.exists_flat_models_and_eventually_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/FlatModel/Packaged.lean, line 47.
Stacks 02JO. Let
R → Sbe of finite presentation and letMbe a finitely presentedS-module which is flat overR. Then:
- there are a ring
R₀of finite type overℤ, anR₀-algebraS₀of finite type and a finiteS₀-moduleM₀flat overR₀, with maps toR,SandMexhibitingS = R ⊗_{R₀} S₀andM = S ⊗_{S₀} M₀;- if
R = colim_λ R_λis a directed colimit, such a model already exists over someR_λ, withR_λ → S_λof finite presentation andM_λa finitely presentedS_λ-module;- if
(R → S, M) = colim_λ (R_λ → S_λ, M_λ)is a directed colimit of finitely presented pairs with cartesian transition squares, thenM_λis flat overR_λfor all largeλ.This is the packaged three-part form of the tag, stated at the universe generality the source asserts: the index
I, the three colimitsR,S,M, the stage familiesA,B,Nand the modelR₀,S₀,M₀of part (1) all live in independent universes. The three parts are also available separately asModule.Flat.exists_finiteType_model,Module.Flat.exists_finitePresentation_model_of_directedandModule.Flat.eventually_flat_of_directed, which are proved withRandSin one universe (and, in part (1), with the model in that universe); this statement is deduced from them by the universe transport of the previous section, with no repetition of the spreading-out argument.
theorem Module.Flat.exists_flat_models_and_eventually_flat
{R : Type uR} {S : Type uS} {M : Type uM}
[CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S]
[AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
[Module.FinitePresentation S M] [Module.Flat R M] :
(∃ (R₀ : Type uR₀) (S₀ : Type uS₀) (M₀ : Type uM₀)
(_ : CommRing R₀) (_ : CommRing S₀) (_ : Algebra R₀ S₀)
(_ : Algebra R₀ R) (_ : Algebra S₀ S) (_ : Algebra R₀ S)
(_ : IsScalarTower R₀ R S) (_ : IsScalarTower R₀ S₀ S)
(_ : AddCommGroup M₀) (_ : Module S₀ M₀) (_ : Module R₀ M₀)
(_ : IsScalarTower R₀ S₀ M₀) (_ : Module S₀ M) (_ : IsScalarTower S₀ S M)
(f : M₀ →ₗ[S₀] M),
Algebra.FiniteType ℤ R₀ ∧ Algebra.FiniteType R₀ S₀ ∧ Module.Finite S₀ M₀ ∧
Module.Flat R₀ M₀ ∧ Algebra.IsPushout R₀ R S₀ S ∧ IsBaseChange S f) ∧
(∀ (I : Type uI) (_ : Preorder I) (_ : Nonempty I) (_ : IsDirected I (· ≤ ·))
(A : I → Type uA) (_ : ∀ i, CommRing (A i))
(a : ∀ i j, i ≤ j → A i →+* A j)
(_ : DirectedSystem A (fun i j h ↦ a i j h))
(ρ : ∀ i, A i →+* R),
(∀ i j (h : i ≤ j), ρ j ∘ a i j h = ρ i) →
(∀ x : R, ∃ i y, ρ i y = x) →
(∀ i y, ρ i y = 0 → ∃ (j : I) (h : i ≤ j), a i j h y = 0) →
∃ i : I,
letI : Algebra (A i) R := (ρ i).toAlgebra
∃ (T : Type (max uA uS)) (P : Type (max (max uA uS) uM))
(_ : CommRing T) (_ : Algebra (A i) T)
(_ : Algebra T S) (_ : Algebra (A i) S)
(_ : IsScalarTower (A i) R S) (_ : IsScalarTower (A i) T S)
(_ : AddCommGroup P) (_ : Module T P) (_ : Module (A i) P)
(_ : IsScalarTower (A i) T P) (_ : Module T M) (_ : IsScalarTower T S M)
(f : P →ₗ[T] M),
algebraMap (A i) R = ρ i ∧
Algebra.FinitePresentation (A i) T ∧ Module.FinitePresentation T P ∧
Module.Flat (A i) P ∧ Algebra.IsPushout (A i) R T S ∧ IsBaseChange S f) ∧
(∀ (I : Type uI) (_ : Preorder I) (_ : Nonempty I) (_ : IsDirected I (· ≤ ·))
(A : I → Type uA) (B : I → Type uB) (N : I → Type uN)
(_ : ∀ i, CommRing (A i)) (_ : ∀ i, CommRing (B i))
(_ : ∀ i, AddCommGroup (N i)) (_ : ∀ i, Module (B i) (N i))
(a : ∀ i j, i ≤ j → A i →+* A j)
(b : ∀ i j, i ≤ j → B i →+* B j)
(_ : DirectedSystem A (fun i j h ↦ a i j h))
(_ : DirectedSystem B (fun i j h ↦ b i j h))
(g : ∀ i, A i →+* B i)
(n : ∀ i j, (h : i ≤ j) → N i →ₛₗ[b i j h] N j)
(ρ : ∀ i, A i →+* R) (σ : ∀ i, B i →+* S)
(ν : ∀ i, N i →+ M)
(hg : ∀ i j (h : i ≤ j), (g j).comp (a i j h) = (b i j h).comp (g i)),
(∀ i x, n i i le_rfl x = x) →
(∀ i j k (hij : i ≤ j) (hjk : j ≤ k) x,
n j k hjk (n i j hij x) = n i k (hij.trans hjk) x) →
(∀ i j (h : i ≤ j), ρ j ∘ a i j h = ρ i) →
(∀ i j (h : i ≤ j), σ j ∘ b i j h = σ i) →
(∀ i j (h : i ≤ j) x, ν j (n i j h x) = ν i x) →
(∀ i, (algebraMap R S).comp (ρ i) = (σ i).comp (g i)) →
(∀ i x m, ν i (g i x • m) = ρ i x • ν i m) →
(∀ i y m, ν i (y • m) = σ i y • ν i m) →
(∀ x : R, ∃ i y, ρ i y = x) →
(∀ i y, ρ i y = 0 → ∃ (j : I) (h : i ≤ j), a i j h y = 0) →
(∀ x : S, ∃ i y, σ i y = x) →
(∀ i y, σ i y = 0 → ∃ (j : I) (h : i ≤ j), b i j h y = 0) →
(∀ x : M, ∃ i y, ν i y = x) →
(∀ i y, ν i y = 0 → ∃ (j : I) (h : i ≤ j), n i j h y = 0) →
(∀ i,
letI : Algebra (A i) (B i) := (g i).toAlgebra
Algebra.FinitePresentation (A i) (B i)) →
(∀ i, Module.FinitePresentation (B i) (N i)) →
(∀ i j (h : i ≤ j),
letI : Algebra (A i) (B i) := (g i).toAlgebra
letI : Algebra (A i) (A j) := (a i j h).toAlgebra
letI : Algebra (B i) (B j) := (b i j h).toAlgebra
letI : Algebra (A j) (B j) := (g j).toAlgebra
letI : Algebra (A i) (B j) := ((g j).comp (a i j h)).toAlgebra
letI : IsScalarTower (A i) (A j) (B j) :=
IsScalarTower.of_algebraMap_smul fun _ _ ↦ rfl
letI : IsScalarTower (A i) (B i) (B j) :=
IsScalarTower.of_algebraMap_smul fun x y ↦ by
change b i j h (g i x) * y = g j (a i j h x) * y
exact congrArg (fun z : B j ↦ z * y)
(by simpa using (RingHom.congr_fun (hg i j h) x).symm)
Algebra.IsPushout (A i) (A j) (B i) (B j)) →
(∀ i j (h : i ≤ j),
letI : Algebra (B i) (B j) := (b i j h).toAlgebra
letI : Module (B i) (N j) := Module.compHom (N j) (b i j h)
letI : IsScalarTower (B i) (B j) (N j) :=
IsScalarTower.of_algebraMap_smul fun _ _ ↦ rfl
IsBaseChange (B j)
(⟨(n i j h).toAddHom, fun x y ↦ (n i j h).map_smul' x y⟩ :
N i →ₗ[B i] N j)) →
∃ i, ∀ j, i ≤ j →
letI : Module (A j) (N j) := Module.compHom (N j) (g j)
Module.Flat (A j) (N j))
Tag 034Y, a lemma
Tag 034Y in the Stacks Project.
Algebra.exists_faithfullyFlat_finitePresentation_model, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ColimitsII/FaithfullyFlatModel.lean, line 217. The attribute's comment: “The diagram is the data R → A₀ → A with IsScalarTower R A₀ A (the left square) and A₀ → B₀ → B, A₀ → A → B through a common A₀ → B (the right square); B = A ⊗_{A₀} B₀ is Algebra.IsPushout A₀ A B₀ B. The rings A₀, B₀ live in the universe of R, A and B.”.
Stacks 034Y. Let
R → A → Bbe ring maps withA → Bfaithfully flat of finite presentation. Then there are anR-algebraA₀of finite presentation and a faithfully flatA₀-algebraB₀of finite presentation, with mapsA₀ → AofR-algebras andB₀ → Bcompatible withA₀ → B₀andA → B, such thatB = A ⊗_{A₀} B₀.
theorem Algebra.exists_faithfullyFlat_finitePresentation_model {R : Type v} {A B : Type u}
[CommRing R] [CommRing A] [CommRing B] [Algebra R A] [Algebra A B] [Module.FaithfullyFlat A B]
[Algebra.FinitePresentation A B] :
∃ (A₀ B₀ : Type (max u v)) (_ : CommRing A₀) (_ : CommRing B₀) (_ : Algebra R A₀)
(_ : Algebra A₀ B₀) (_ : Algebra A₀ A) (_ : IsScalarTower R A₀ A) (_ : Algebra B₀ B)
(_ : Algebra A₀ B) (_ : IsScalarTower A₀ A B) (_ : IsScalarTower A₀ B₀ B),
Algebra.FinitePresentation R A₀ ∧ Module.FaithfullyFlat A₀ B₀ ∧
Algebra.FinitePresentation A₀ B₀ ∧ Algebra.IsPushout A₀ A B₀ B
Tag 07RG, a lemma
Tag 07RG in the Stacks Project.
Stacks.DirectLimit.FiniteDescent.finite_baseChange_of_colimit_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Algebra/DirectLimit/Descent/Finite.lean, line 526.
Let
Lbe the directed colimit of a directed system ofR-algebras(A i), and letφ : B →ₐ[R] Cbe a map ofR-algebras of finite type. If the base changeid_L ⊗ φ : L ⊗_R B → L ⊗_R Cis a finite ring map, then there is an indexisuch that the base changeid_{A i} ⊗ φ : A i ⊗_R B → A i ⊗_R Cis a finite ring map.
theorem finite_baseChange_of_colimit_finite
{A : ι → Type*} [∀ i, CommRing (A i)] [∀ i, Algebra R (A i)]
{f : ∀ ⦃i j⦄, i ≤ j → A i →ₐ[R] A j}
{L : Type*} [CommRing L] [Algebra R L]
{g : ∀ i, A i →ₐ[R] L}
(φ : B →ₐ[R] C)
(hcolim : IsDirectedColimit A f L g)
(hfin_type : φ.FiniteType)
(hfin : (baseChange L φ).toRingHom.Finite) :
∃ i : ι, (baseChange (A i) φ).toRingHom.Finite
Tag 07RH, a lemma
Tag 07RH in the Stacks Project.
surjective_baseChange_of_colimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Algebra/DirectLimit/Descent/Surjective.lean, line 280. References: SGA 3 VIB (10.1), “special case”.
Let
A = colim_i Aᵢbe a directed colimit ofA₀-algebras, and letC₀be anA₀-algebra that is of finite type over theA₀-algebraB₀(via the structure mapφ₀ : B₀ → C₀). If the base changeid_A ⊗ φ₀ : A ⊗_{A₀} B₀ → A ⊗_{A₀} C₀is surjective, then there is some indexifor which the base changeid_{Aᵢ} ⊗ φ₀ : Aᵢ ⊗_{A₀} B₀ → Aᵢ ⊗_{A₀} C₀is already surjective.
theorem surjective_baseChange_of_colimit
(hcolim : IsRingColimit A₀ Aᵢ f A g)
(hsurj : Function.Surjective (baseChangeColim A₀ A B₀ C₀))
(hft : Algebra.FiniteType B₀ C₀) :
∃ i : I, Function.Surjective (baseChange A₀ Aᵢ B₀ C₀ i)
Tag 0C4F, a lemma
Tag 0C4F in the Stacks Project.
Stacks.DirectLimit.UnramifiedDescent.colimit_unramified, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Algebra/DirectLimit/Descent/Unramified.lean, line 534.
If the base change
Φ = id_A ⊗ φ₀ofφ₀to the directed colimitA = colim_i Aᵢis unramified andC₀is of finite type overB₀viaφ₀, then the base changeΦᵢ = id_{Aᵢ} ⊗ φ₀is unramified at some finite stagei ≥ O, whereG iis anA₀-algebra viaf O i h.
theorem colimit_unramified
(hΦ :
letI : Algebra ((A G f) ⊗[G O] B₀) ((A G f) ⊗[G O] C₀) :=
(phiColim G f O B₀ C₀ φ₀).toRingHom.toAlgebra
Algebra.Unramified ((A G f) ⊗[G O] B₀) ((A G f) ⊗[G O] C₀))
(hFT :
letI : Algebra B₀ C₀ := φ₀.toRingHom.toAlgebra
Algebra.FiniteType B₀ C₀) :
∃ i, ∃ (h : O ≤ i),
letI : Algebra (G O) (G i) := (f O i h).toAlgebra
letI φᵢ : (G i) ⊗[G O] B₀ →ₐ[G i] (G i) ⊗[G O] C₀ :=
Algebra.TensorProduct.map (AlgHom.id (G i) (G i)) φ₀
letI : Algebra ((G i) ⊗[G O] B₀) ((G i) ⊗[G O] C₀) := φᵢ.toRingHom.toAlgebra
Algebra.Unramified ((G i) ⊗[G O] B₀) ((G i) ⊗[G O] C₀)
Tag 0C32, a lemma
Tag 0C32 in the Stacks Project.
Stacks.DirectLimit.FinitePresentationDescent.isIso_of_finitePresentation_colim, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Algebra/DirectLimit/Descent/Bijective.lean, line 836.
Let
A = colim_{i ∈ I} A_ibe a directed colimit of commutative rings, fix an indexi₀ ∈ I, and letφ₀ : B₀ → C₀be a map ofA i₀-algebras. If the base-changed mapφ : A ⊗_{A i₀} B₀ → A ⊗_{A i₀} C₀is bijective andφ₀is of finite presentation, then there exists an indexi ≥ i₀such that the base-changed mapφ_i : A_i ⊗_{A i₀} B₀ → A_i ⊗_{A i₀} C₀is bijective.
theorem isIso_of_finitePresentation_colim
(hfp : (φ₀ : B₀ →+* C₀).FinitePresentation)
(hφ : Function.Bijective (phiColim A f i₀ B₀ C₀ φ₀)) :
∃ i : ι, ∃ h : i₀ ≤ i, Function.Bijective (phiAt A f i₀ B₀ C₀ φ₀ i h)
Tag 07RI, a lemma
Tag 07RI in the Stacks Project.
RingHom.Etale.exists_baseChange_etale_of_colimitPresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Etale/ColimitBaseChange.lean, line 380. The attribute's comment: “The source's A_0 is the base ring R and its index set restricted to i ≥ 0, which is cofinal, is the diagram; A = colim A_i is Limits.ColimitPresentation J A in CommAlgCat R over an arbitrary filtered J, together with the PreservesColimit instance saying the colimit is computed on underlying sets, and the base change of φ is Mathlib's Algebra.TensorProduct.map (AlgHom.id R _) φ. See the module docstring.”.
Étale spreads out in a filtered colimit of base rings. Let
Abe the colimit of a filtered diagram ofR-algebrasAᵢ, computed on underlying sets, and letφ : B →ₐ[R] Cbe of finite presentation. If the base change1 ⊗ φ : A ⊗[R] B → A ⊗[R] Cis étale, then1 ⊗ φ : Aᵢ ⊗[R] B → Aᵢ ⊗[R] Cis étale for somei.
public theorem exists_baseChange_etale_of_colimitPresentation
{R : Type u} [CommRing R] {J : Type w} [Category.{t} J] [IsFiltered J]
{A : CommAlgCat.{v} R} (pres : ColimitPresentation J A)
[PreservesColimit (pres.diag ⋙ forget₂ (CommAlgCat R) CommRingCat) (forget CommRingCat)]
{B C : Type*} [CommRing B] [CommRing C] [Algebra R B] [Algebra R C] (φ : B →ₐ[R] C)
(hφ : φ.toRingHom.FinitePresentation)
(hA : (Algebra.TensorProduct.map (AlgHom.id R ↥A) φ).toRingHom.Etale) :
∃ i : J, (Algebra.TensorProduct.map (AlgHom.id R ↥(pres.diag.obj i)) φ).toRingHom.Etale
Tag 0C0B, a lemma
Tag 0C0B in the Stacks Project.
RingHom.Smooth.exists_baseChange_smooth_of_colimitPresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/Smooth.lean, line 1130. The attribute's comment: “The source's A_0 is the base ring R and its index set restricted to i ≥ 0, which is cofinal, is the diagram; A = colim A_i is Limits.ColimitPresentation J A in CommAlgCat R over a filtered J whose colimit is computed on underlying sets, and the base change of φ is Mathlib's Algebra.TensorProduct.map (AlgHom.id R _) φ. Smooth is RingHom.Smooth, the source's notion by Proposition 00TN. See the module docstring.”.
Smoothness spreads out in a filtered colimit of base rings. Let
Abe the colimit of a filtered diagram ofR-algebrasAᵢ, computed on underlying sets, and letφ : B →ₐ[R] Cbe of finite presentation. If the base change1 ⊗ φ : A ⊗[R] B → A ⊗[R] Cis smooth, then1 ⊗ φ : Aᵢ ⊗[R] B → Aᵢ ⊗[R] Cis smooth for somei.
public theorem exists_baseChange_smooth_of_colimitPresentation
{R : Type u} [CommRing R] {J : Type w} [Category.{t} J] [IsFiltered J]
{A : CommAlgCat.{v} R} (pres : ColimitPresentation J A)
[PreservesColimit (pres.diag ⋙ forget₂ (CommAlgCat.{v} R) CommRingCat.{v})
(forget CommRingCat)]
{B C : Type*} [CommRing B] [CommRing C] [Algebra R B] [Algebra R C] (φ : B →ₐ[R] C)
(hφ : φ.toRingHom.FinitePresentation)
(hA : (Algebra.TensorProduct.map (AlgHom.id R ↥A) φ).toRingHom.Smooth) :
∃ i : J, (Algebra.TensorProduct.map (AlgHom.id R ↥(pres.diag.obj i)) φ).toRingHom.Smooth
Tag 0C33, a lemma
Tag 0C33 in the Stacks Project.
Algebra.IsRelativeGlobalCompleteIntersection.exists_stage_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ColimitsII/TensorProductStage.lean, line 262. The attribute's comment: “The relative global complete intersection case. The colimit A is the ring R with the cocone ρ, given elementwise: every element of R comes from a stage, and an element of a stage dying in R dies at a later stage. The maps A_i ⊗ B₀ → A_i ⊗ C₀ are Algebra.TensorProduct.map id φ₀.”.
Stacks 0C33, relative global complete intersections. Let
A = colim_i A_ibe a directed colimit of rings, let0 ≤ ibe an index andφ₀ : B₀ → C₀a map ofA₀-algebras withC₀of finite presentation overB₀. IfA ⊗_{A₀} B₀ → A ⊗_{A₀} C₀is a relative global complete intersection, then so isA_i ⊗_{A₀} B₀ → A_i ⊗_{A₀} C₀for somei ≥ 0.
theorem Algebra.IsRelativeGlobalCompleteIntersection.exists_stage_tensorProduct
{ι : Type*} [Preorder ι] [IsDirected ι (· ≤ ·)]
{A : ι → Type u} [∀ i, CommRing (A i)] (a : ∀ i j, i ≤ j → A i →+* A j)
[DirectedSystem A fun i j h => a i j h] {R : Type*} [CommRing R] (ρ : ∀ i, A i →+* R)
(hρ : ∀ i j (h : i ≤ j) x, ρ j (a i j h x) = ρ i x) (hρs : ∀ r, ∃ i x, ρ i x = r)
(hρz : ∀ i x, ρ i x = 0 → ∃ j, ∃ h : i ≤ j, a i j h x = 0)
{i₀ : ι} {B₀ C₀ : Type v} [CommRing B₀] [CommRing C₀] [Algebra (A i₀) B₀] [Algebra (A i₀) C₀]
(φ₀ : B₀ →ₐ[A i₀] C₀) (hfp : φ₀.FinitePresentation)
(h : letI := (ρ i₀).toAlgebra
letI := (Algebra.TensorProduct.map (AlgHom.id (A i₀) R) φ₀).toRingHom.toAlgebra
Algebra.IsRelativeGlobalCompleteIntersection (R ⊗[A i₀] B₀) (R ⊗[A i₀] C₀)) :
∃ i, ∃ h : i₀ ≤ i, letI := (a i₀ i h).toAlgebra
letI := (Algebra.TensorProduct.map (AlgHom.id (A i₀) (A i)) φ₀).toRingHom.toAlgebra
Algebra.IsRelativeGlobalCompleteIntersection (A i ⊗[A i₀] B₀) (A i ⊗[A i₀] C₀)
Algebra.Syntomic.exists_stage_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ColimitsII/TensorProductStage.lean, line 284. The attribute's comment: “The syntomic case, with the conventions of the relative global complete intersection case.”.
Stacks 0C33, syntomic ring maps. Let
A = colim_i A_ibe a directed colimit of rings, let0 ≤ ibe an index andφ₀ : B₀ → C₀a map ofA₀-algebras withC₀of finite presentation overB₀. IfA ⊗_{A₀} B₀ → A ⊗_{A₀} C₀is syntomic, then so isA_i ⊗_{A₀} B₀ → A_i ⊗_{A₀} C₀for somei ≥ 0.
theorem Algebra.Syntomic.exists_stage_tensorProduct
{ι : Type*} [Preorder ι] [IsDirected ι (· ≤ ·)]
{A : ι → Type u} [∀ i, CommRing (A i)] (a : ∀ i j, i ≤ j → A i →+* A j)
[DirectedSystem A fun i j h => a i j h] {R : Type*} [CommRing R] (ρ : ∀ i, A i →+* R)
(hρ : ∀ i j (h : i ≤ j) x, ρ j (a i j h x) = ρ i x) (hρs : ∀ r, ∃ i x, ρ i x = r)
(hρz : ∀ i x, ρ i x = 0 → ∃ j, ∃ h : i ≤ j, a i j h x = 0)
{i₀ : ι} {B₀ C₀ : Type v} [CommRing B₀] [CommRing C₀] [Algebra (A i₀) B₀] [Algebra (A i₀) C₀]
(φ₀ : B₀ →ₐ[A i₀] C₀) (hfp : φ₀.FinitePresentation)
(h : letI := (ρ i₀).toAlgebra
letI := (Algebra.TensorProduct.map (AlgHom.id (A i₀) R) φ₀).toRingHom.toAlgebra
Algebra.Syntomic (R ⊗[A i₀] B₀) (R ⊗[A i₀] C₀)) :
∃ i, ∃ h : i₀ ≤ i, letI := (a i₀ i h).toAlgebra
letI := (Algebra.TensorProduct.map (AlgHom.id (A i₀) (A i)) φ₀).toRingHom.toAlgebra
Algebra.Syntomic (A i ⊗[A i₀] B₀) (A i ⊗[A i₀] C₀)
Tag 034Z, a lemma
Tag 034Z in the Stacks Project.
Algebra.exists_quasiFinite_faithfullyFlat_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ColimitsII/QuasiFiniteFactorization.lean, line 535. The attribute's comment: “The commutative triangle is the data R → S → S' with IsScalarTower R S S'; quasi-finiteness (Definition 00PL) is Algebra.QuasiFinite, which omits the finite type clause of the source's definition, supplied here by Algebra.FinitePresentation. S' lives in the universe of R and S.”. References: EGA IV (17.16.2), “affine case”.
Stacks 034Z. Let
R → Sbe a faithfully flat ring map of finite presentation. Then there is anS-algebraS'such thatR → S'is quasi-finite, faithfully flat and of finite presentation.
theorem Algebra.exists_quasiFinite_faithfullyFlat_finitePresentation
{R S : Type u} [CommRing R] [CommRing S] [Algebra R S]
[Module.FaithfullyFlat R S] [Algebra.FinitePresentation R S] :
∃ (S' : Type u) (_ : CommRing S') (_ : Algebra R S') (_ : Algebra S S')
(_ : IsScalarTower R S S'), Algebra.QuasiFinite R S' ∧ Module.FaithfullyFlat R S' ∧
Algebra.FinitePresentation R S'
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.