10.44 Separable extensions… to 10.63 Associated primes
Section10.44 Separable extensions, continued#
Section 10.44 of the Stacks Project, Tag 05DT. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 030W, a lemma
Tag 030W in the Stacks Project.
Algebra.isSeparableExtension_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/Separable/TFAE.lean, line 194. The attribute's comment: “Stated for the exponential characteristic, so that characteristic zero is the case p = 1, where all four conditions hold; the source assumes p > 0. Condition (2) quantifies over arbitrary, not just finite, linearly independent subsets. See the module docstring.”.
Stacks 030W. Let
kbe a field of exponential characteristicpand letK/kbe a field extension. The following are equivalent:Kis separable overk(Definition Stacks 030O); for everyk-linearly independent subsetsofKthe set ofp-th powers of elements ofsisk-linearly independent; the ringK ⊗_k k^{1/p}is reduced; andKis geometrically reduced overk.
public theorem Algebra.isSeparableExtension_tfae (k K : Type*) [Field k] [Field K] [Algebra k K]
(p : ℕ) [ExpChar k p] :
List.TFAE
[Algebra.IsSeparableExtension k K,
∀ s : Set K, LinearIndepOn k _root_.id s → LinearIndepOn k (· ^ p) s,
IsReduced (K ⊗[k] AdjoinPthRoots k),
Algebra.IsGeometricallyReduced k K]
Tag 030X, a lemma
Tag 030X in the Stacks Project.
exists_isTranscendenceBasis_and_isSeparable_of_isSeparable_adjoin_of_essFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/Separable/Basic.lean, line 88.
A separably generated field extension is separable. Let
K/kbe a field extension with a separating transcendence basiss, that is, a transcendence basis ofK/ksuch thatKis separable algebraic overk(s). Then every subextensionk ⊆ L ⊆ Kwhich is finitely generated overkagain has a separating transcendence basis: there is a finite transcendence basistofL/ksuch thatLis separable algebraic overk(t).
public theorem exists_isTranscendenceBasis_and_isSeparable_of_isSeparable_adjoin_of_essFiniteType
{k K L : Type*} [Field k] [Field K] [Field L] [Algebra k K] [Algebra k L] [Algebra L K]
[IsScalarTower k L K] [Algebra.EssFiniteType k L] {s : Set K}
(hs : IsTranscendenceBasis k ((↑) : s → K))
(hsep : Algebra.IsSeparable (IntermediateField.adjoin k s) K) :
∃ t : Finset L,
IsTranscendenceBasis k ((↑) : t → L) ∧
Algebra.IsSeparable (IntermediateField.adjoin k (t : Set L)) L
Tag 030V, a lemma
Tag 030V in the Stacks Project.
Algebra.isGeometricallyReduced_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyReduced/TFAE.lean, line 198. The attribute's comment: “The source's five conditions in its order, with its definition of geometric reducedness spelled out as item (5), plus item (6), Mathlib's Algebra.IsGeometricallyReduced; k^{1/p} is AdjoinPthRoots k, and the perfect and algebraic closures are taken abstractly, as IsPerfectClosure and IsAlgClosure.”.
Let
kbe a field of exponential characteristicpand letSbe a commutativek-algebra. The following are equivalent: (1)k' ⊗[k] Sis reduced for every finite purely inseparable extensionk'/k; (2)k^{1/p} ⊗[k] Sis reduced, wherek^{1/p} = AdjoinPthRoots k; (3)k^{perf} ⊗[k] Sis reduced for a perfect closurek^{perf}ofk; (4)K ⊗[k] Sis reduced for an algebraic closureKofk; (5)L ⊗[k] Sis reduced for every field extensionL/k; (6)Algebra.IsGeometricallyReduced k S.
public theorem isGeometricallyReduced_tfae
(k : Type u) [Field k] (p : ℕ) [ExpChar k p] (S : Type v) [CommRing S] [Algebra k S]
(kperf : Type w) [Field kperf] [Algebra k kperf] [ExpChar kperf p] [PerfectRing kperf p]
[IsPerfectClosure (algebraMap k kperf) p]
(K : Type w') [Field K] [Algebra k K] [IsAlgClosure k K] :
[∀ (k' : Type u) [Field k'] [Algebra k k'] [FiniteDimensional k k']
[IsPurelyInseparable k k'], IsReduced (k' ⊗[k] S),
IsReduced (AdjoinPthRoots k ⊗[k] S),
IsReduced (kperf ⊗[k] S),
IsReduced (K ⊗[k] S),
∀ (L : Type u) [Field L] [Algebra k L], IsReduced (L ⊗[k] S),
IsGeometricallyReduced k S].TFAE
Sources
Section10.45 Perfect fields#
Section 10.45 of the Stacks Project, Tag 05DU. 4 tags here are carried by 2 declarations of the repository (all in StacksFrontier) and 6 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 030R, a lemma
Tag 030R in the Stacks Project.
exists_isPurelyInseparable_and_isSeparableExtension_of_essFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/PurelyInseparable/BaseChange.lean, line 979. References: EGA 0 (19.6.6).
Let
K/kbe a finitely generated field extension and letΩ/Kbe a perfect field extension. Then insideΩthere is a diagramwithK → K' ↑ ↑ k → k'k'/kandK'/Kfinite purely inseparable andK'/k'separable in the sense of [stacks, 030O](2), in which moreoverK'is the compositumk'Kand the canonical mapk' ⊗[k] K → K'is surjective with kernel the nilradical, i.e.K' = (k' ⊗[k] K)_red.
public theorem exists_isPurelyInseparable_and_isSeparableExtension_of_essFiniteType
(k K Ω : Type*) [Field k] [Field K] [Field Ω] [Algebra k K] [Algebra k Ω] [Algebra K Ω]
[IsScalarTower k K Ω] [PerfectField Ω] [Algebra.EssFiniteType k K] :
∃ (K' : IntermediateField K Ω) (k' : IntermediateField k ↥K'),
Module.Finite K ↥K' ∧ IsPurelyInseparable K ↥K' ∧
Module.Finite k ↥k' ∧ IsPurelyInseparable k ↥k' ∧
Algebra.IsSeparableExtension ↥k' ↥K' ∧
IntermediateField.adjoin K (k' : Set ↥K') = ⊤ ∧
Function.Surjective (Algebra.TensorProduct.productMap
(IsScalarTower.toAlgHom k ↥k' ↥K') (IsScalarTower.toAlgHom k K ↥K')) ∧
RingHom.ker (Algebra.TensorProduct.productMap
(IsScalarTower.toAlgHom k ↥k' ↥K') (IsScalarTower.toAlgHom k K ↥K')) =
nilradical (↥k' ⊗[k] K)
Tag 046W, a lemma
Tag 046W in the Stacks Project.
Declarations registered for the tag:
perfectClosure.isPurelyInseparableregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 291 (StacksFrontier): “existence: the perfect closure ofkin an algebraic closure is purely inseparable”.perfectClosure.perfectFieldregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 294 (StacksFrontier): “existence: it is perfect (given a perfect ambient field, e.g.IsAlgClosed.perfectField)”.IsPurelyInseparable.instNonemptyAlgHomOfPerfectFieldregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 297 (StacksFrontier): “uniqueness: ak-map into any perfect extension exists”.instSubsingletonAlgHomOfIsPurelyInseparableregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 299 (StacksFrontier): “uniqueness: such ak-map is unique”. References: EGA I (3.5.8), “special case”.
Tag 046X, a definition
Tag 046X in the Stacks Project.
Declarations registered for the tag:
perfectClosureregistered withadd_to_stacksin StacksFrontier/FieldTheory/PerfectClosure.lean, line 20 (StacksFrontier): “the perfect closure ofk, as the largest purely inseparable subextension of a given extension; the tag'sk^perfis this taken inside an algebraic closure”.perfectClosure.perfectFieldregistered withadd_to_stacksin StacksFrontier/FieldTheory/PerfectClosure.lean, line 23 (StacksFrontier): “that it is a perfect field”.
Tag 00I4, a lemma
Tag 00I4 in the Stacks Project.
isReduced_tensorProduct_baseField_left, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/TensorProduct/Reduced.lean, line 188. The attribute's comment: “Only the degenerate R = k case of clause (2); clause (1) and the general clause (2) are not formalized.”.
Stacks 00I4, the degenerate
R = kcase of clause (2): the tensor productk ⊗[k] Sofkwith a reducedk-algebraSis reduced.
theorem isReduced_tensorProduct_baseField_left (k : Type*) [Field k] (S : Type*)
[CommRing S] [Algebra k S] [IsReduced S] : IsReduced (k ⊗[k] S)
Sources
Section10.46 Universal homeomorphisms#
Section 10.46 of the Stacks Project, Tag 0BR5. 11 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0BR6, a lemma
Tag 0BR6 in the Stacks Project.
Algebra.IsPushout.surjective_and_ker_eq_map_of_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/BaseChange.lean, line 113. The attribute's comment: “The base change assertion.”.
Let
R → Sbe a surjective ring map and letS'be the base change ofSalong an arbitrary ring mapR → R', i.e.R',S'completeR,Sto a pushout square ofR-algebras. ThenR' → S'is surjective and its kernel is the ideal ofR'generated by the image of the kernel ofR → S.
public theorem surjective_and_ker_eq_map_of_surjective
{R S R' S' : Type*} [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'] [IsPushout R S R' S']
(hsurj : Function.Surjective (algebraMap R S)) :
Function.Surjective (algebraMap R' S') ∧
RingHom.ker (algebraMap R' S') = (RingHom.ker (algebraMap R S)).map (algebraMap R R')
Tag 0BR7, a lemma
Tag 0BR7 in the Stacks Project.
forall_exists_pow_mem_iff_isPurelyInseparable_or_isAlgebraic_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/PowerConditions.lean, line 613.
Let
k'/kbe a field extension. Then every element ofk'has a positive power lying inkif and only if eitherk'/kis purely inseparable — which in characteristic zero meansk' = k— ork'has positive characteristic and is algebraic over its prime field𝐅_p.
public theorem forall_exists_pow_mem_iff_isPurelyInseparable_or_isAlgebraic_bot
{k k' : Type*} [Field k] [Field k'] [Algebra k k'] :
(∀ x : k', ∃ n > 0, x ^ n ∈ (algebraMap k k').range) ↔
IsPurelyInseparable k k' ∨
(ringChar k' ≠ 0 ∧ Algebra.IsAlgebraic (⊥ : Subfield k') k')
Tag 0BR8, a lemma
Tag 0BR8 in the Stacks Project.
Ideal.ResidueField.exists_pow_mem_range_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/BaseChange.lean, line 168. The attribute's comment: “The residue field extensions.”.
Let
f : R →+* Sbe a ring map such that every element ofShas a positive power in the image off, letqbe a prime ofSand letp = f⁻¹(q). Then every element of the residue fieldκ(q)has a positive power in the image of the canonical embeddingκ(p) → κ(q); that is, the induced residue field extensions satisfy the equivalent conditions offorall_exists_pow_mem_iff_isPurelyInseparable_or_isAlgebraic_bot.
public theorem Ideal.ResidueField.exists_pow_mem_range_map {R S : Type*} [CommRing R] [CommRing S]
{f : R →+* S} (H : ∀ x : S, ∃ n > 0, x ^ n ∈ f.range) (p : Ideal R) [p.IsPrime] (q : Ideal S)
[q.IsPrime] (hpq : p = q.comap f) (x : q.ResidueField) :
∃ n > 0, x ^ n ∈ (Ideal.ResidueField.map p q f hpq).range
Tag 0EUH, a lemma
Tag 0EUH in the Stacks Project.
PrimeSpectrum.isHomeomorph_comap_and_residueFieldMap_bijective_of_adjoin_sq_cube_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/GenerationCriteria.lean, line 765.
Let
R → Sbe a ring map with locally nilpotent kernel such thatSis generated as anR-algebra by elements whose square and cube lie in the image ofR. ThenSpec S → Spec Ris a homeomorphism, the induced residue field extensionsκ(𝔭) → κ(𝔮)are isomorphisms, and both hypotheses again hold for the base changeR' → S'ofR → Salong any ring mapR → R'.
public theorem isHomeomorph_comap_and_residueFieldMap_bijective_of_adjoin_sq_cube_eq_top
{R S : Type*} [CommRing R] [CommRing S] [Algebra R S]
(hgen : Algebra.adjoin R
{x : S | x ^ 2 ∈ (⊥ : Subalgebra R S) ∧ x ^ 3 ∈ (⊥ : Subalgebra R S)} = ⊤)
(hker : RingHom.ker (algebraMap R S) ≤ nilradical R) :
IsHomeomorph (comap (algebraMap R S)) ∧
(∀ (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime]
(hpq : p = q.comap (algebraMap R S)),
Function.Bijective (Ideal.ResidueField.map p q (algebraMap R S) hpq)) ∧
∀ (R' : Type v) (S' : Type w) [CommRing R'] [CommRing 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'],
Algebra.adjoin R'
{x : S' | x ^ 2 ∈ (⊥ : Subalgebra R' S') ∧ x ^ 3 ∈ (⊥ : Subalgebra R' S')} = ⊤ ∧
RingHom.ker (algebraMap R' S') ≤ nilradical R'
Tag 0545, a lemma
Tag 0545 in the Stacks Project.
Stacks.UniversalHomeomorphism.FrobeniusPowerSubring.exists_pow_mem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/PowerConditions.lean, line 163.
Let
pbe a prime number andn, m > 0. Then there is anasuch that both(x + y) ^ p ^ aandp ^ a (x + y)lie inR = ℤ[x ^ p ^ n, p ^ n x, y ^ p ^ m, p ^ m y], wherex = X 0andy = X 1.
theorem exists_pow_mem (p : ℕ) (hp : p.Prime) (n m : ℕ) (hn : 0 < n) (hm : 0 < m) :
∃ a : ℕ, (X 0 + X 1 : MvPolynomial (Fin 2) ℤ) ^ p ^ a ∈ subringR p n m ∧
(p ^ a : ℤ) • (X 0 + X 1 : MvPolynomial (Fin 2) ℤ) ∈ subringR p n m
Tag 0BR9, a lemma
Tag 0BR9 in the Stacks Project.
satisfiesGeneratingCondition_iff_structuralCondition, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/PowerConditions.lean, line 230.
Let
K / kbe a field extension andpa prime. ThenKis generated as a field extension ofkby the elementsxadmitting ann > 0withx ^ p ^ n ∈ kandp ^ n • x ∈ k— the generating condition of the source — if and only if eitherk = K, or the characteristic ispandK / kis purely inseparable, which is the source's structural condition.The two directions are the two halves of the perfect closure: in characteristic
pthe generators lie in the perfect closure ofk, which is therefore all ofK; away frompthe multiplep ^ n • xof a generator isxtimes a unit ofk, so the generators lie inkalready.
public theorem satisfiesGeneratingCondition_iff_structuralCondition
{K : Type*} [Field K] (k : Subfield K) (p : ℕ) (hp : p.Prime) :
Subfield.closure ((k : Set K) ∪ {x : K | ∃ n > 0, x ^ p ^ n ∈ k ∧ (p ^ n : ℕ) • x ∈ k}) = ⊤ ↔
k = ⊤ ∨ (ringChar K = p ∧ IsPurelyInseparable k K)
Tag 0BRA, a lemma
Tag 0BRA in the Stacks Project.
PrimeSpectrum.isHomeomorph_comap_and_isPurelyInseparable_and_baseChange_of_adjoin_pow_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/GenerationCriteria.lean, line 526.
Let
pbe a prime number and letφ : R → Sbe a ring map whose kernel is locally nilpotent and such thatSis generated as anR-algebra by elementsxfor which there is ann > 0withx ^ p ^ nandp ^ n • xin the image ofφ. ThenSpec(S) → Spec(R)is a homeomorphism, every induced residue field extensionκ(𝔭) → κ(𝔮)is either surjective or of characteristicpand purely inseparable — the equivalent conditions ofsatisfiesGeneratingCondition_iff_structuralCondition— and both hypotheses hold again for every base changeR' → S'ofR → Salong an arbitrary ring mapR → R', i.e. for every pushout square ofR-algebras completingR,SbyR',S'.
public theorem isHomeomorph_comap_and_isPurelyInseparable_and_baseChange_of_adjoin_pow_eq_top
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] (p : ℕ) (hp : p.Prime)
(hker : RingHom.ker (algebraMap R S) ≤ nilradical R)
(hgen : Algebra.adjoin R {x : S | ∃ n > 0, x ^ p ^ n ∈ (algebraMap R S).range ∧
p ^ n • x ∈ (algebraMap R S).range} = ⊤) :
IsHomeomorph (comap (algebraMap R S)) ∧
(∀ (𝔭 : Ideal R) [𝔭.IsPrime] (𝔮 : Ideal S) [𝔮.IsPrime]
(h : 𝔭 = 𝔮.comap (algebraMap R S)),
Function.Surjective (Ideal.ResidueField.map 𝔭 𝔮 (algebraMap R S) h) ∨
ringChar 𝔮.ResidueField = p ∧
(Ideal.ResidueField.map 𝔭 𝔮 (algebraMap R S) h).IsPurelyInseparable) ∧
∀ (R' : Type u') (S' : Type v') [CommRing R'] [CommRing S'] [Algebra R R'] [Algebra S S']
[Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S']
[Algebra.IsPushout R S R' S'],
RingHom.ker (algebraMap R' S') ≤ nilradical R' ∧
Algebra.adjoin R' {x : S' | ∃ n > 0, x ^ p ^ n ∈ (algebraMap R' S').range ∧
p ^ n • x ∈ (algebraMap R' S').range} = ⊤
Tag 0BRB, a lemma
Tag 0BRB in the Stacks Project.
Algebra.IsPushout.injective_comap_and_residueFieldMap_isPurelyInseparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/BaseChange.lean, line 333.
Let
R → Sbe a ring map which induces an injective map of spectra and purely inseparable residue field extensions, and letS'be the base change ofSalong an arbitrary ring mapR → R', i.e.R',S'completeR,Sto a pushout square ofR-algebras. ThenR' → S'also induces an injective map of spectra and purely inseparable residue field extensions.
public theorem Algebra.IsPushout.injective_comap_and_residueFieldMap_isPurelyInseparable
{R S R' S' : Type*} [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'] [IsPushout R S R' S']
(hinj : Function.Injective (PrimeSpectrum.comap (algebraMap R S)))
(hins : ∀ (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime]
(hpq : p = q.comap (algebraMap R S)),
(Ideal.ResidueField.map p q (algebraMap R S) hpq).IsPurelyInseparable) :
Function.Injective (PrimeSpectrum.comap (algebraMap R' S')) ∧
∀ (p' : Ideal R') [p'.IsPrime] (q' : Ideal S') [q'.IsPrime]
(hpq : p' = q'.comap (algebraMap R' S')),
(Ideal.ResidueField.map p' q' (algebraMap R' S') hpq).IsPurelyInseparable
Tag 0BRC, a lemma
Tag 0BRC in the Stacks Project.
PrimeSpectrum.isClosedEmbedding_comap_of_isIntegral, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/BaseChange.lean, line 358.
An integral ring map
f : R → Swhose induced map of spectra is injective induces a homeomorphism fromSpec(S)onto a closed subset ofSpec(R).
public theorem isClosedEmbedding_comap_of_isIntegral {R : Type u} {S : Type v} [CommRing R]
[CommRing S] (f : R →+* S) (hf : f.IsIntegral) (hinj : Function.Injective (comap f)) :
Topology.IsClosedEmbedding (comap f)
PrimeSpectrum.isClosedEmbedding_comap_and_baseChange_of_injective_comap_of_isPurelyInseparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/BaseChange.lean, line 371.
Let
R → Sbe an integral ring map which induces an injective map of spectra and purely inseparable residue field extensions. ThenSpec(S) → Spec(R)is a homeomorphism onto a closed subset ofSpec(R), and for every base changeR' → S'ofR → Salong an arbitrary ring mapR → R', i.e. for every pushout square ofR-algebras completingR,SbyR',S', the mapR' → S'is again integral and again induces an injective map of spectra and purely inseparable residue field extensions.
public theorem isClosedEmbedding_comap_and_baseChange_of_injective_comap_of_isPurelyInseparable
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] [Algebra.IsIntegral R S]
(hinj : Function.Injective (comap (algebraMap R S)))
(hins : ∀ (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime]
(hpq : p = q.comap (algebraMap R S)),
(Ideal.ResidueField.map p q (algebraMap R S) hpq).IsPurelyInseparable) :
Topology.IsClosedEmbedding (comap (algebraMap R S)) ∧
∀ (R' : Type u') (S' : Type v') [CommRing R'] [CommRing S'] [Algebra R R'] [Algebra S S']
[Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S']
[Algebra.IsPushout R S R' S'],
Algebra.IsIntegral R' S' ∧ Function.Injective (comap (algebraMap R' S')) ∧
∀ (p' : Ideal R') [p'.IsPrime] (q' : Ideal S') [q'.IsPrime]
(hpq : p' = q'.comap (algebraMap R' S')),
(Ideal.ResidueField.map p' q' (algebraMap R' S') hpq).IsPurelyInseparable
Tag 0BRD, a lemma
Tag 0BRD in the Stacks Project.
PrimeSpectrum.isHomeomorph_comap_and_baseChange_of_bijective_comap_of_isPurelyInseparable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/BaseChange.lean, line 450. References: EGA IV (2.4.5), “(i), affine case”; EGA 0 (23.2.2), “more general”.
Let
R → Sbe an integral ring map which induces a bijective map of spectra and purely inseparable residue field extensions. ThenSpec(S) → Spec(R)is a homeomorphism, and for every base changeR' → S'ofR → Salong an arbitrary ring mapR → R', i.e. for every pushout square ofR-algebras completingR,SbyR',S', the mapR' → S'is again integral and again induces a bijective map of spectra and purely inseparable residue field extensions.
public theorem isHomeomorph_comap_and_baseChange_of_bijective_comap_of_isPurelyInseparable
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] [Algebra.IsIntegral R S]
(hbij : Function.Bijective (comap (algebraMap R S)))
(hins : ∀ (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime]
(hpq : p = q.comap (algebraMap R S)),
(Ideal.ResidueField.map p q (algebraMap R S) hpq).IsPurelyInseparable) :
IsHomeomorph (comap (algebraMap R S)) ∧
∀ (R' : Type u') (S' : Type v') [CommRing R'] [CommRing S'] [Algebra R R'] [Algebra S S']
[Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S']
[Algebra.IsPushout R S R' S'],
Algebra.IsIntegral R' S' ∧ Function.Bijective (comap (algebraMap R' S')) ∧
∀ (p' : Ideal R') [p'.IsPrime] (q' : Ideal S') [q'.IsPrime]
(hpq : p' = q'.comap (algebraMap R' S')),
(Ideal.ResidueField.map p' q' (algebraMap R' S') hpq).IsPurelyInseparable
Tag 09EF, a lemma
Tag 09EF in the Stacks Project.
PrimeSpectrum.isHomeomorph_comap_and_isPurelyInseparable_and_baseChange_of_adjoin_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/UniversalHomeomorphism/Examples/GenerationCriteria.lean, line 272.
Let
φ : R → Sbe a ring map whose kernel is locally nilpotent and such thatSis generated as anR-algebra by elementsxfor which there are ann > 0and a polynomialP(T) ∈ R[T]whose image inS[T]is(T - x) ^ n. ThenSpec(S) → Spec(R)is a homeomorphism, the induced residue field extensionsκ(p) → κ(q)are purely inseparable, and both hypotheses hold again for every base changeR' → S'ofR → Salong an arbitrary ring mapR → R', i.e. for every pushout square ofR-algebras completingR,SbyR',S'.
public theorem isHomeomorph_comap_and_isPurelyInseparable_and_baseChange_of_adjoin_eq_top
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S]
(hker : RingHom.ker (algebraMap R S) ≤ nilradical R)
(hgen : Algebra.adjoin R
{x : S | ∃ n > 0, ((X : S[X]) - C x) ^ n ∈ lifts (algebraMap R S)} = ⊤) :
IsHomeomorph (comap (algebraMap R S)) ∧
(∀ (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime]
(hpq : p = q.comap (algebraMap R S)),
(Ideal.ResidueField.map p q (algebraMap R S) hpq).IsPurelyInseparable) ∧
∀ (R' : Type u') (S' : Type v') [CommRing R'] [CommRing S'] [Algebra R R'] [Algebra S S']
[Algebra R' S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S']
[Algebra.IsPushout R S R' S'],
RingHom.ker (algebraMap R' S') ≤ nilradical R' ∧
Algebra.adjoin R'
{x : S' | ∃ n > 0, ((X : S'[X]) - C x) ^ n ∈ lifts (algebraMap R' S')} = ⊤
Sources
Section10.47 Geometrically irreducible algebras#
Section 10.47 of the Stacks Project, Tag 00I2. 14 tags here are carried by 18 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00I6, a lemma
Tag 00I6 in the Stacks Project.
irreducibleSpace_primeSpectrum_of_isOpenMap_comap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Spectrum/Prime/IrreducibleFibres.lean, line 122. The attribute's comment: “general form”. References: EGA IV (2.3.5), “(iii), special case”; EGA IV (4.4.2), “special case”.
Stacks 00I6 (algebraic form, more general statement). Let
R → Sbe a ring map. Assume: *Spec Ris irreducible; * the induced mapSpec S → Spec Ris open; * the topological fibres ofSpec S → Spec Rare irreducible forpin a dense subset ofSpec R.Then
Spec Sis irreducible.
theorem irreducibleSpace_primeSpectrum_of_isOpenMap_comap
(R S : Type*) [CommRing R] [CommRing S] [Algebra R S]
[IrreducibleSpace (PrimeSpectrum R)]
(hopen : IsOpenMap (PrimeSpectrum.comap (algebraMap R S)))
(D : Set (PrimeSpectrum R)) (hD : Dense D)
(hfib : ∀ p ∈ D,
IrreducibleSpace
{q : PrimeSpectrum S // PrimeSpectrum.comap (algebraMap R S) q = p}) :
IrreducibleSpace (PrimeSpectrum S)
irreducibleSpace_primeSpectrum_of_flat_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Spectrum/Prime/IrreducibleFibres.lean, line 140.
Stacks 00I6 (flat + finite-presentation form). Let
R → Sbe a flat ring map of finite presentation. IfSpec Ris irreducible and the topological fibres ofSpec S → Spec Rare irreducible forpin a dense subset ofSpec R, thenSpec Sis irreducible.
theorem irreducibleSpace_primeSpectrum_of_flat_finitePresentation
(R S : Type*) [CommRing R] [CommRing S] [Algebra R S]
[IrreducibleSpace (PrimeSpectrum R)]
[Module.Flat R S] [Algebra.FinitePresentation R S]
(D : Set (PrimeSpectrum R)) (hD : Dense D)
(hfib : ∀ p ∈ D,
IrreducibleSpace
{q : PrimeSpectrum S // PrimeSpectrum.comap (algebraMap R S) q = p}) :
IrreducibleSpace (PrimeSpectrum S)
Tag 00I7, a lemma
Tag 00I7 in the Stacks Project.
tensorProduct_unique_minimalPrime_of_isSepClosed_right_base, an alias in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Spectrum/Prime/IrreducibleFibres.lean, line 227. The attribute's comment: “Only the degenerate S = k case; the general R ⊗_k S statement is not formalized.”.
Stacks Tag 00I7 (right-factor-is-the-base-field special case). Let
kbe a field and letRbe ak-algebra with a unique minimal prime. ThenR ⊗_k khas a unique minimal prime.The full Stacks lemma asserts the same conclusion for
R ⊗_k Sfor any pair ofk-algebrasR,Seach with a unique minimal prime; that proof requires the algebraic closure ofk, generic-fibre irreducibility for the flat finite-type mapR → R ⊗_k S(Hilbert Nullstellensatz, Jacobson), and a limit argument over finitely generated subalgebras.Only the degenerate
S = kcase is formalized here, and it does not use separable closedness ofk: it isAlgebra.TensorProduct.ridtransported alongunique_minimalPrime_of_ringEquiv. Accordingly no[IsSepClosed k]hypothesis is assumed, and the@[stacks 00I7]attribute is qualified -- tag 00I7 is still open in the generality Stacks states.
alias tensorProduct_unique_minimalPrime_of_isSepClosed_right_base
Tag 037K, a lemma
Tag 037K in the Stacks Project.
AlgebraicGeometry.geometricallyIrreducible_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Criteria.lean, line 403.
Stacks 037K. Let
kbe a field,Ra commutativek-algebra,k^{sep}a separable closure ofkandk̄an algebraic closure ofk. The following are equivalent: 1. the spectrum ofR ⊗[k] k'is irreducible for every field extensionk'/k; 2. the spectrum ofR ⊗[k] k'is irreducible for every finite separable field extensionk'/k; 3. the spectrum ofR ⊗[k] k^{sep}is irreducible; 4. the spectrum ofR ⊗[k] k̄is irreducible; 5.Spec R ⟶ Spec kis geometrically irreducible.
public theorem AlgebraicGeometry.geometricallyIrreducible_tfae (k R : Type u) [Field k]
[CommRing R] [Algebra k R] (ksep kbar : Type u) [Field ksep] [Algebra k ksep]
[IsSepClosure k ksep] [Field kbar] [Algebra k kbar] [IsAlgClosure k kbar] :
List.TFAE
[∀ (k' : Type u) [Field k'] [Algebra k k'], IrreducibleSpace (PrimeSpectrum (R ⊗[k] k')),
∀ (k' : Type u) [Field k'] [Algebra k k'] [FiniteDimensional k k']
[Algebra.IsSeparable k k'], IrreducibleSpace (PrimeSpectrum (R ⊗[k] k')),
IrreducibleSpace (PrimeSpectrum (R ⊗[k] ksep)),
IrreducibleSpace (PrimeSpectrum (R ⊗[k] kbar)),
GeometricallyIrreducible (Spec.map (ofHom (algebraMap k R)))]
Tag 037L, a definition
Tag 037L in the Stacks Project.
Algebra.IsGeometricallyIrreducible, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Defs.lean, line 133. References: EGA IV (4.5.2), “special case”; EGA IV (4.5.9).
A
k-algebraSis geometrically irreducible overkif every base change ofSpec S ⟶ Spec kalong a field-valued point ofSpec kis an irreducible space, equivalently if for every field extensionk'/kthe spectrum ofS ⊗[k] k'is irreducible (Algebra.isGeometricallyIrreducible_iff_irreducibleSpace_primeSpectrum_tensorProduct). An irreducible space is nonempty, so this forces every suchS ⊗[k] k'to be nonzero.
public abbrev Algebra.IsGeometricallyIrreducible (k S : Type u) [Field k] [CommRing S]
[Algebra k S] : Prop
Tag 037M, a lemma
Tag 037M in the Stacks Project.
Algebra.isGeometricallyIrreducible_iff_irreducibleSpace_primeSpectrum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Criteria.lean, line 528.
Stacks 037M. Let
kbe a separably algebraically closed field and letRbe ak-algebra. ThenRis geometrically irreducible overkif and only if the spectrum ofRis irreducible.
public theorem Algebra.isGeometricallyIrreducible_iff_irreducibleSpace_primeSpectrum
(k R : Type u) [Field k] [IsSepClosed k] [CommRing R] [Algebra k R] :
Algebra.IsGeometricallyIrreducible k R ↔ IrreducibleSpace (PrimeSpectrum R)
Tag 037N, a lemma
Tag 037N in the Stacks Project.
isGeometricallyIrreducible_of_subalgebra, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Subalgebra.lean, line 189. The attribute's comment: “(1)”.
Statement 1 (Subalgebras). If
Sis geometrically irreducible overk, then everyk-subalgebraS' ⊆ Sis geometrically irreducible overk.
theorem isGeometricallyIrreducible_of_subalgebra
(k : Type u) [Field k] (S : Type u) [CommRing S] [Algebra k S]
(hS : Algebra.IsGeometricallyIrreducible k S)
(S' : Subalgebra k S) :
Algebra.IsGeometricallyIrreducible k S'
isGeometricallyIrreducible_of_forall_fg, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Subalgebra.lean, line 278. The attribute's comment: “(2)”.
Statement 2 (Detection by finitely generated subalgebras). If every finitely generated
k-subalgebra ofSis geometrically irreducible overk, thenSis geometrically irreducible overk.Proof outline: for each field extension
k'/k, reduceIrreducibleSpace (PrimeSpectrum (S ⊗[k] k'))to(nilradical (S ⊗[k] k')).IsPrimeviairreducibleSpace_primeSpectrum_iff_nilradical_isPrime, then buildIsPrimefrom its two pieces:ne_top(fromnontrivial_tensorProduct_of_forall_fg) andmem_or_mem(fromnilradical_tensorProduct_mem_or_mem_of_forall_fg).
theorem isGeometricallyIrreducible_of_forall_fg
(k : Type u) [Field k] (S : Type u) [CommRing S] [Algebra k S]
(hS : ∀ (S' : Subalgebra k S), S'.FG →
Algebra.IsGeometricallyIrreducible k S') :
Algebra.IsGeometricallyIrreducible k S
isGeometricallyIrreducible_directLimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Subalgebra.lean, line 708. The attribute's comment: “(3)”.
Statement 3 (Directed colimits). A directed colimit of geometrically irreducible
k-algebras is geometrically irreducible overk.The directed system is given by a directed preorder
ι,k-algebrasG i, and transition ring homomorphismsf i j : G i →+* G j(fori ≤ j) that commute with the structure maps fromk(hf) and form aDirectedSystem. The colimit isRing.DirectLimit G f, equipped with thek-algebra structuredlAlg k G f.Proof outline: for each field extension
k'/k, reduce to(nilradical (DirectLimit ⊗ k')).IsPrimeviairreducibleSpace_primeSpectrum_iff_nilradical_isPrime, then assembleIsPrimefromnontrivial_directLimit_tensorProduct(nontriviality ⇒ne_top) andnilradical_directLimit_tensorProduct_mem_or_mem(the prime implication).
theorem isGeometricallyIrreducible_directLimit
(k : Type u) [Field k]
{ι : Type u} [Preorder ι] [IsDirected ι (· ≤ ·)] [Nonempty ι]
(G : ι → Type u) [∀ i, CommRing (G i)] [∀ i, Algebra k (G i)]
(f : (i j : ι) → i ≤ j → G i →+* G j)
(hf : ∀ (i j : ι) (h : i ≤ j) (x : k),
f i j h (algebraMap k (G i) x) = algebraMap k (G j) x)
[DirectedSystem G (fun i j h => (f i j h : G i → G j))]
(hG : ∀ i, Algebra.IsGeometricallyIrreducible k (G i)) :
letI := dlAlg k G (fun i j h => (f i j h : G i → G j))
Algebra.IsGeometricallyIrreducible k
(Ring.DirectLimit G (fun i j h => (f i j h : G i → G j)))
Tag 037O, a lemma
Tag 037O in the Stacks Project.
Algebra.IsGeometricallyIrreducible.bijOn_irreducibleComponents_primeSpectrum_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/IrreducibleComponents.lean, line 190.
Stacks 037O. Let
kbe a field, letSbe a geometrically irreduciblek-algebra and letRbe anyk-algebra. Then the mapSpec (R ⊗[k] S) → Spec Rinduced byr ↦ r ⊗ₜ 1induces a bijection on irreducible components: taking images along it is a bijection from the irreducible components ofSpec (R ⊗[k] S)onto the irreducible components ofSpec R.
public theorem
Algebra.IsGeometricallyIrreducible.bijOn_irreducibleComponents_primeSpectrum_tensorProduct
(k R S : Type u) [Field k] [CommRing R] [Algebra k R] [CommRing S] [Algebra k S]
[Algebra.IsGeometricallyIrreducible k S] :
Set.BijOn (fun Z ↦ PrimeSpectrum.comap (algebraMap R (R ⊗[k] S)) '' Z)
(irreducibleComponents (PrimeSpectrum (R ⊗[k] S)))
(irreducibleComponents (PrimeSpectrum R))
Tag 037P, a lemma
Tag 037P in the Stacks Project.
Algebra.IsGeometricallyIrreducible.of_algebraicClosure_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Tower.lean, line 190.
Let
K/kbe a field extension. Ifkis algebraically closed inK, that is, if the relative algebraic closurealgebraicClosure k Kis trivial, thenKis geometrically irreducible overk.
public theorem Algebra.IsGeometricallyIrreducible.of_algebraicClosure_eq_bot (k K : Type u)
[Field k] [Field K] [Algebra k K] (h : algebraicClosure k K = ⊥) :
Algebra.IsGeometricallyIrreducible k K
Tag 0G30, a lemma
Tag 0G30 in the Stacks Project.
Algebra.IsGeometricallyIrreducible.trans, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Tower.lean, line 96.
Let
K/kbe a geometrically irreducible field extension and letSbe a geometrically irreducibleK-algebra. ThenSis geometrically irreducible overk.
public theorem Algebra.IsGeometricallyIrreducible.trans (k K S : Type u) [Field k] [Field K]
[CommRing S] [Algebra k K] [Algebra K S] [Algebra k S] [IsScalarTower k K S]
[Algebra.IsGeometricallyIrreducible k K] [Algebra.IsGeometricallyIrreducible K S] :
Algebra.IsGeometricallyIrreducible k S
Tag 0G31, a lemma
Tag 0G31 in the Stacks Project.
AlgebraicGeometry.GeometricallyIrreducible.iff_ratFunc, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/AdjoinTranscendental.lean, line 179.
An extension of fields
K/kis geometrically irreducible if and only if the induced extensionK(X)/k(X)of purely transcendental extensions in one variable is geometrically irreducible.
public theorem AlgebraicGeometry.GeometricallyIrreducible.iff_ratFunc (k K : Type u) [Field k]
[Field K] [Algebra k K] :
GeometricallyIrreducible (Spec.map (ofHom (algebraMap k K))) ↔
GeometricallyIrreducible (Spec.map (ofHom (algebraMap k⟮X⟯ K⟮X⟯)))
Tag 0G32, a lemma
Tag 0G32 in the Stacks Project.
AlgebraicGeometry.geometricallyIrreducible_specMap_adjoin_of_transcendental, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/AdjoinTranscendental.lean, line 370.
Let
K/L/Mbe a tower of fields withLgeometrically irreducible overM, and letx : Kbe transcendental overL. ThenL(x)is geometrically irreducible overM(x), whereM(x) = M⟮x⟯andL(x)is theM⟮x⟯-subfield ofKgenerated by the image ofL.
public theorem AlgebraicGeometry.geometricallyIrreducible_specMap_adjoin_of_transcendental
{M L K : Type u} [Field M] [Field L] [Field K] [Algebra M L] [Algebra M K] [Algebra L K]
[IsScalarTower M L K]
[GeometricallyIrreducible (Spec.map (CommRingCat.ofHom (algebraMap M L)))]
{x : K} (hx : Transcendental L x) :
GeometricallyIrreducible (Spec.map (CommRingCat.ofHom
(algebraMap ↥M⟮x⟯ ↥(adjoin ↥M⟮x⟯ (Set.range (algebraMap L K))))))
Tag 0G33, a lemma
Tag 0G33 in the Stacks Project.
separableClosure.eq_bot_iff_geometricallyIrreducible, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/Tower.lean, line 328.
Let
K/kbe an extension of fields. The separable closure ofkinKis trivial — every element ofKseparably algebraic overklies ink— if and only ifKis geometrically irreducible overk.
public theorem separableClosure.eq_bot_iff_geometricallyIrreducible (k K : Type u) [Field k]
[Field K] [Algebra k K] :
separableClosure k K = ⊥ ↔ GeometricallyIrreducible (Spec.map (ofHom (algebraMap k K)))
Tag 037Q, a lemma
Tag 037Q in the Stacks Project.
part2, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/SeparableClosure/SeparableTensor.lean, line 287. The attribute's comment: “(2)”.
Statement 2 (Finiteness of
[k' : k]). IfK/kis a finitely generated field extension (Definition 4 — finite generation as a field, encoded by(⊤ : IntermediateField k K).FG), thenk'is finite overk, i.e.Module.Finite k k'(equivalently[k' : k] < ∞).
theorem part2 (k K : Type*) [Field k] [Field K] [Algebra k K]
(hfg : (⊤ : IntermediateField k K).FG) :
Module.Finite k (separableClosure k K)
part1, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/SeparableClosure/SeparablyClosedBase.lean, line 806. The attribute's comment: “(1)”. References: EGA IV (4.3.2), “special case”; EGA IV (4.3.3), “special case”; EGA IV (4.4.4), “special case”; EGA IV (4.5.21), “special case”.
Statement 1 (Geometric irreducibility over
k').Kis geometrically irreducible overk' = separableClosure k K: for every field extensionL/k'the spectrumSpec(K ⊗\_\{k'} L)is irreducible.
theorem part1 (k K : Type*) [Field k] [Field K] [Algebra k K] :
∀ (L : Type) [Field L] [Algebra (separableClosure k K) L],
IrreducibleSpace (PrimeSpectrum (K ⊗[separableClosure k K] L))
Tag 04KP, a lemma
Tag 04KP in the Stacks Project.
gal_acts_transitively_on_primes_of_isGalois, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIrreducible/GaloisAction.lean, line 317. References: SGA 1 V (1.1), “(ii), special case”.
Statement 1 (Stacks Tag 04KP). The Galois group
Gal(kbar/k)of a Galois extensionkbar/kacts transitively on the primes ofkbar ⊗[k] K: for every pair of prime idealsP, Qthere existsσ ∈ Gal(kbar/k)whose induced map on the prime spectrum (viacomapofσ ⊗ id_K) carriesQtoP. A separable algebraic closure ofk, the case the source states, is Galois overk.
theorem gal_acts_transitively_on_primes_of_isGalois
{k K kbar : Type*}
[Field k] [Field K] [Field kbar]
[Algebra k K] [Algebra k kbar] [IsGalois k kbar] :
∀ (P Q : PrimeSpectrum (kbar ⊗[k] K)),
∃ σ : kbar ≃ₐ[k] kbar,
PrimeSpectrum.comap
(Algebra.TensorProduct.congr σ (AlgEquiv.refl (R := k) (A₁ :=
K))).toAlgHom.toRingHom Q = P
Sources
Section10.48 Geometrically connected algebras#
Section 10.48 of the Stacks Project, Tag 05DV. 6 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 037R, a lemma
Tag 037R in the Stacks Project.
Algebra.TensorProduct.connectedSpace_primeSpectrum, an instance in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/TensorProduct/Connected.lean, line 332. The attribute's comment: “Connectedness of the spectra of two k-algebras over a separably closed field k is inherited by the spectrum of their tensor product over k. Stated as an instance, with Spec read as PrimeSpectrum and connected as ConnectedSpace, which includes nonemptiness as the source's notion of a connected space does.”. References: SGA 3 X (9.7.2), “affine case”; SGA 3 X (9.7.1), “affine case, i = 1”.
Connectedness of the spectrum of a tensor product over a separably closed field. Let
kbe a separably algebraically closed field and letRandSbek-algebras. IfSpec RandSpec Sare connected, then so isSpec (R ⊗[k] S).
public instance connectedSpace_primeSpectrum (k : Type u) (R : Type v) (S : Type w) [Field k]
[IsSepClosed k] [CommRing R] [Algebra k R] [CommRing S] [Algebra k S]
[ConnectedSpace (PrimeSpectrum R)] [ConnectedSpace (PrimeSpectrum S)] :
ConnectedSpace (PrimeSpectrum (R ⊗[k] S))
Tag 037S, a lemma
Tag 037S in the Stacks Project.
Algebra.isGeometricallyConnected_iff_forall_finite_separable, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyConnected/Criteria.lean, line 136. The attribute's comment: “Geometric connectedness of a k-algebra need only be tested on the finite separable extensions of k. Condition (1) of the lemma is Algebra.IsGeometricallyConnected (Stacks 037T), which is that condition verbatim; Spec is PrimeSpectrum and connected is ConnectedSpace, which includes nonemptiness as the source's notion does.”. References: EGA IV (8.4.5), “affine case”; EGA IV (8.4.5), “affine case”.
Geometric connectedness is detected by the finite separable extensions. Let
kbe a field and letRbe ak-algebra. ThenRis geometrically connected overk, that is,Spec (K ⊗[k] R)is connected for every field extensionK/k, if and only ifSpec (K ⊗[k] R)is connected for every finite separable field extensionK/k.
public theorem isGeometricallyConnected_iff_forall_finite_separable (k : Type u) (R : Type v)
[Field k] [CommRing R] [Algebra k R] :
IsGeometricallyConnected k R ↔
∀ (K : Type u) [Field K] [Algebra k K] [FiniteDimensional k K] [Algebra.IsSeparable k K],
ConnectedSpace (PrimeSpectrum (K ⊗[k] R))
Tag 037T, a definition
Tag 037T in the Stacks Project.
Algebra.IsGeometricallyConnected, a class in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyConnected/Defs.lean, line 68.
A
k-algebraSover a fieldkis geometrically connected overkif for every field extensionK/kthe spectrum ofK ⊗[k] Sis connected.
public class IsGeometricallyConnected (k : Type u) (S : Type v) [Field k] [CommRing S]
[Algebra k S] : Prop
Tag 037U, a lemma
Tag 037U in the Stacks Project.
Algebra.isGeometricallyConnected_iff_connectedSpace_primeSpectrum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyConnected.lean, line 335.
Geometric connectedness over a separably closed field. Let
kbe a separably algebraically closed field and letRbe ak-algebra. ThenRis geometrically connected overkif and only ifSpec Ris connected.
public theorem Algebra.isGeometricallyConnected_iff_connectedSpace_primeSpectrum
(k : Type u) (R : Type v) [Field k] [IsSepClosed k] [CommRing R] [Algebra k R] :
Algebra.IsGeometricallyConnected k R ↔ ConnectedSpace (PrimeSpectrum R)
Tag 037V, a lemma
Tag 037V in the Stacks Project.
geometricallyConnected_of_subalgebra, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyConnected.lean, line 117. The attribute's comment: “(1)”.
If
Sis geometrically connected overk, then everyk-subalgebraR ⊆ Sis geometrically connected overk.
theorem geometricallyConnected_of_subalgebra
(k : Type u) (S : Type v) [Field k] [CommRing S] [Algebra k S]
(hS : Algebra.IsGeometricallyConnected k S) (R : Subalgebra k S) :
Algebra.IsGeometricallyConnected k R
geometricallyConnected_of_forall_fg, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyConnected.lean, line 131. The attribute's comment: “(2)”.
If every finitely generated
k-subalgebra ofSis geometrically connected overk, thenSis geometrically connected overk.
theorem geometricallyConnected_of_forall_fg
(k : Type u) (S : Type v) [Field k] [CommRing S] [Algebra k S]
(h : ∀ R : Subalgebra k S, R.FG → Algebra.IsGeometricallyConnected k R) :
Algebra.IsGeometricallyConnected k S
geometricallyConnected_of_directedColimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyConnected.lean, line 192. The attribute's comment: “(3)”.
A directed colimit of geometrically connected
k-algebras is geometrically connected overk. The colimitSof the directed system(S_i, φ_{ij})with cocone mapsψ_i : S_i →ₐ[k] Sis presented by its elementary universal property: theψ_iare jointly surjective, andψ_i y = ψ_i zholds only ifyandzbecome equal after some transition mapφ_{ij}.
theorem geometricallyConnected_of_directedColimit
(k : Type u) [Field k]
(ι : Type w) [Preorder ι] [IsDirectedOrder ι] [Nonempty ι]
(Sfun : ι → Type v) [(i : ι) → CommRing (Sfun i)] [(i : ι) → Algebra k (Sfun i)]
(φ : (i j : ι) → i ≤ j → (Sfun i →ₐ[k] Sfun j))
(hφcomp : ∀ (i j l : ι) (hij : i ≤ j) (hjl : j ≤ l),
(φ j l hjl).comp (φ i j hij) = φ i l (le_trans hij hjl))
(S : Type v) [CommRing S] [Algebra k S]
(ψ : (i : ι) → (Sfun i →ₐ[k] S))
(hψ : ∀ (i j : ι) (hij : i ≤ j), (ψ j).comp (φ i j hij) = ψ i)
(hsurj : ∀ x : S, ∃ (i : ι) (y : Sfun i), ψ i y = x)
(hsep : ∀ (i : ι) (y z : Sfun i), ψ i y = ψ i z →
∃ (j : ι) (hij : i ≤ j), φ i j hij y = φ i j hij z)
(hgc : ∀ i, Algebra.IsGeometricallyConnected k (Sfun i)) :
Algebra.IsGeometricallyConnected k S
Tag 037W, a lemma
Tag 037W in the Stacks Project.
Algebra.TensorProduct.bijOn_isIdempotentElem_and_bijective_connectedComponentsMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/TensorProduct/Connected.lean, line 479. The attribute's comment: “Base change of an arbitrary k-algebra R along a geometrically connected k-algebra S induces a bijection on idempotents and a bijection on connected components of the spectra. Both assertions of the lemma; the second is stated as a bijection, as in the source, rather than as the homeomorphism of Varieties, Lemma 0385.”.
Base change along a geometrically connected algebra. Let
kbe a field, letSbe a geometrically connectedk-algebra and letRbe anyk-algebra. ThenR → R ⊗[k] S,r ↦ r ⊗ 1, restricts to a bijection from the idempotents ofRonto the idempotents ofR ⊗[k] S, and the induced mapSpec (R ⊗[k] S) → Spec Ris a bijection on connected components.
public theorem bijOn_isIdempotentElem_and_bijective_connectedComponentsMap
(k : Type u) [Field k] (S : Type v) [CommRing S] [Algebra k S]
[IsGeometricallyConnected k S] (R : Type w) [CommRing R] [Algebra k R] :
Set.BijOn (algebraMap R (R ⊗[k] S)) {e | IsIdempotentElem e} {e | IsIdempotentElem e} ∧
Function.Bijective (PrimeSpectrum.continuous_comap
(algebraMap R (R ⊗[k] S))).connectedComponentsMap
Sources
Section10.49 Geometrically integral algebras#
Section 10.49 of the Stacks Project, Tag 05DW. 4 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05DX, a definition
Tag 05DX in the Stacks Project.
Algebra.IsGeometricallyIntegral, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIntegral/Defs.lean, line 120. References: EGA IV (4.6.2), “affine, special case”; SGA 6 XII (1.2), “special case”.
A
k-algebraSis geometrically integral overkif every base change ofSpec S ⟶ Spec kalong a field-valued point ofSpec kis an integral scheme, equivalently if for every field extensionk'/kthe ringS ⊗[k] k'is a domain (Algebra.isGeometricallyIntegral_iff_isDomain_tensorProduct).
public abbrev Algebra.IsGeometricallyIntegral (k S : Type u) [Field k] [CommRing S]
[Algebra k S] : Prop
Tag 05DY, a lemma
Tag 05DY in the Stacks Project.
geometricallyIntegral_iff_irreducible_and_reduced, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIntegral/Defs.lean, line 238. References: EGA IV (4.6.14), “special case”; EGA IV (4.6.2), “affine, special case”; SGA 3 XIX (2.1), “partial”.
A
k-algebraSis geometrically integral overkif and only if it is both geometrically irreducible and geometrically reduced overk. This is Stacks tag 05DY.
GeometricallyReduceduses the conventionIsReduced (k' ⊗[k] S)(extension on the left). The local statements aboutS ⊗[k] k'(algebra on the left) are interchanged with these via the canonical ring isomorphismAlgebra.TensorProduct.comm.
theorem geometricallyIntegral_iff_irreducible_and_reduced
(k : Type u) [Field k] (S : Type v) [CommRing S] [Algebra k S] :
GeometricallyIntegral.{u, v, w} k S ↔
GeometricallyIrreducible.{u, v, w} k S ∧ GeometricallyReduced.{u, v, w} k S
Tag 0FWF, a lemma
Tag 0FWF in the Stacks Project.
Algebra.isGeometricallyIntegral_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIntegral/TFAE.lean, line 124.
Stacks 0FWF. Let
kbe a field and letSbe ak-algebra. The following are equivalent: (1)Sis geometrically integral overk; (2)S ⊗[k] k'is a domain for every field extensionk'/k; (3)S ⊗[k] k'is a domain for every finite extensionk'/k; (4)S ⊗[k] AlgebraicClosure kis a domain.
public theorem Algebra.isGeometricallyIntegral_tfae (k S : Type u) [Field k] [CommRing S]
[Algebra k S] :
List.TFAE
[ Algebra.IsGeometricallyIntegral k S,
∀ (k' : Type u) [Field k'] [Algebra k k'], IsDomain (S ⊗[k] k'),
∀ (k' : Type u) [Field k'] [Algebra k k'] [Module.Finite k k'], IsDomain (S ⊗[k] k'),
IsDomain (S ⊗[k] AlgebraicClosure k) ]
Tag 09P9, a lemma
Tag 09P9 in the Stacks Project.
Algebra.IsGeometricallyIntegral.isDomain_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyIntegral/TensorProduct.lean, line 100.
Let
kbe a field, letSbe a geometrically integralk-algebra and letRbe ak-algebra which is an integral domain. ThenR ⊗[k] Sis an integral domain.
public theorem Algebra.IsGeometricallyIntegral.isDomain_tensorProduct (k R S : Type u) [Field k]
[CommRing R] [IsDomain R] [Algebra k R] [CommRing S] [Algebra k S]
[Algebra.IsGeometricallyIntegral k S] : IsDomain (R ⊗[k] S)
Sources
Section10.50 Valuation rings#
Section 10.50 of the Stacks Project, Tag 00I8. 15 tags here are carried by 12 declarations of the repository (all in StacksFrontier) and 28 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00I9, a definition
Tag 00I9 in the Stacks Project.
dominates_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Domination.lean, line 74. The attribute's comment: “(1)”. References: EGA I (8.1.1), “(i) ⇔ (ii)”.
Part (1). For local subrings
A,Bof a fieldK, the domination orderA ≤ BofLocalSubring Kholds iffA ⊆ B(as subrings) and, for everya ∈ A, the elementalies in the maximal ideal ofAexactly when its image inBlies in the maximal ideal ofB. The latter is the literal Stacks condition𝔪_A = A ∩ 𝔪_B.
theorem dominates_iff {A B : LocalSubring K} :
A ≤ B ↔ ∃ h : A.toSubring ≤ B.toSubring,
∀ a : A.toSubring,
a ∈ maximalIdeal A.toSubring ↔
Subring.inclusion h a ∈ maximalIdeal B.toSubring
IsValuationRing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Domination.lean, line 90. The attribute's comment: “(2)”. References: EGA II (7.1.1), “definition”.
Part (2). A local domain
Ais a valuation ring when, viewed inside its fraction field, it is maximal for the domination order among the local subrings ofFractionRing A.
def IsValuationRing (A : Type*) [CommRing A] [IsDomain A] [IsLocalRing A] : Prop
IsCenteredOn, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Domination.lean, line 110. The attribute's comment: “(3)”.
Part (3). A valuation ring
Awith fraction fieldK, represented as aValuationSubring K, is centered on a subringR ⊆ KwhenR ⊆ A.
def IsCenteredOn (A : ValuationSubring K) (R : Subring K) : Prop
Tag 00IB, a lemma
Tag 00IB in the Stacks Project.
Declarations registered for the tag:
ValuationRing.iff_isInteger_or_isIntegerregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Criteria.lean, line 30 (StacksFrontier).
Tag 052K, a lemma
Tag 052K in the Stacks Project.
Declarations registered for the tag:
ValuationSubringregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Criteria.lean, line 34 (StacksFrontier): “the hypothesis, as a structure”. References: EGA II (7.1.1).ValuationSubring.instValuationRingSubtypeMemregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Criteria.lean, line 36 (StacksFrontier): “it is a valuation ring”.ValuationSubring.instIsFractionRingSubtypeMemregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Criteria.lean, line 37 (StacksFrontier): “with fraction fieldK”.
Tag 0AS4, a lemma
Tag 0AS4 in the Stacks Project.
valuationRing_directLimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/DirectLimit.lean, line 62. References: EGA IV (5.13.3), “(i), special case”.
A filtered direct limit of valuation rings is a valuation ring: if
(G i, f i j)is a directed system of commutative rings over a directed index set in which everyG iis an integral domain and a valuation ring, then the colimitRing.DirectLimit G fis an integral domain and a valuation ring.The conclusion is phrased as an existential over an
IsDomaininstance together withValuationRing, becauseValuationRingis a typeclass whose statement presupposes[IsDomain _], and Mathlib does not automatically deriveIsDomainfor the colimit.
theorem valuationRing_directLimit
{ι : Type*} [Preorder ι] [IsDirectedOrder ι] [Nonempty ι]
(G : ι → Type*) [∀ i, CommRing (G i)] [∀ i, IsDomain (G i)]
(f : (i j : ι) → i ≤ j → G i →+* G j)
[DirectedSystem G fun i j h => f i j h]
[∀ i, ValuationRing (G i)] :
∃ _ : IsDomain (Ring.DirectLimit G fun i j h => f i j h),
ValuationRing (Ring.DirectLimit G fun i j h => f i j h)
Tag 052L, a lemma
Tag 052L in the Stacks Project.
Declarations registered for the tag:
ValuationSubring.comapregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Restriction.lean, line 44 (StacksFrontier): “K ∩ Bas a valuation subring ofK, pulled back alongK → L”.ValuationSubring.mem_comapregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Restriction.lean, line 46 (StacksFrontier): “membership inK ∩ B”.
Tag 0AAV, a lemma
Tag 0AAV in the Stacks Project.
intersectionSubring_ne_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Restriction.lean, line 112.
Stacks Tag 0AAV. Let
L / Kbe an algebraic extension of fields and letBbe a valuation subring ofL(soBis a valuation ring withFrac B = L) which is not a field (B ≠ ⊤). ThenA = K ∩ B = B.comap (algebraMap K L)is a valuation subring ofK(so a valuation ring with fraction fieldK, by its type) which is not a field (A ≠ ⊤).
theorem intersectionSubring_ne_top
{K L : Type*} [Field K] [Field L] [Algebra K L]
(halg : Algebra.IsAlgebraic K L)
(B : ValuationSubring L) (hB : B ≠ ⊤) :
intersectionSubring B ≠ (⊤ : ValuationSubring K)
Tag 088Y, a lemma
Tag 088Y in the Stacks Project.
valuationRing_quotient_of_prime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Constructions.lean, line 83.
For any prime ideal
p ⊆ A, the quotient ringA ⧸ pis a valuation ring.
theorem valuationRing_quotient_of_prime (𝔭 : Ideal A) [𝔭.IsPrime] :
ValuationRing (A ⧸ 𝔭)
valuationRing_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Constructions.lean, line 92. References: EGA II (7.1.1), “partial”.
Let
M ⊆ Abe a submonoid withM ≤ nonZeroDivisors A, and letSbe any commutative ring that is a localization ofAatM. ThenSis a valuation ring. (Sis an integral domain byIsLocalization.isDomain_of_le_nonZeroDivisors.)
theorem valuationRing_localization (M : Submonoid A) (hM : M ≤ nonZeroDivisors A)
(S : Type*) [CommRing S] [Algebra A S] [IsLocalization M S] :
haveI : IsDomain S := IsLocalization.isDomain_of_le_nonZeroDivisors (S := S) hM
ValuationRing S
valuationRing_localization_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Constructions.lean, line 109. References: EGA II (7.1.1), “partial”.
For any prime ideal
p ⊆ A, the localizationA_p = Localization.AtPrime pis a valuation ring.
theorem valuationRing_localization_atPrime (𝔭 : Ideal A) [𝔭.IsPrime] :
ValuationRing (Localization.AtPrime 𝔭)
Tag 088Z, a lemma
Tag 088Z in the Stacks Project.
residueValuationSubring_mem_or_inv_mem, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Constructions.lean, line 201.
Stacks Tag 088Z.
Csatisfies the valuation criterion of tag 052K: for everyx : L, eitherx ∈ Corx⁻¹ ∈ C. ViaValuationSubring.ofSubringthis says exactly thatCis a valuation ring with fraction fieldL.
theorem residueValuationSubring_mem_or_inv_mem (A' : ValuationSubring L)
(A : ValuationSubring (IsLocalRing.ResidueField A')) (x : L) :
x ∈ residueValuationSubring A' A ∨ x⁻¹ ∈ residueValuationSubring A' A
Tag 00ID, a lemma
Tag 00ID in the Stacks Project.
Declarations registered for the tag:
ValuationRing.ValueGroupregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 185 (StacksFrontier): “Gamma (with 0 adjoined) = K / A^x”.ValuationRing.instLEValueGroupregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 186 (StacksFrontier): “the relation >=: a/b in image of A”.ValuationRing.le_totalregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 187 (StacksFrontier): “the ordering is total”.ValuationRing.linearOrderregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 188 (StacksFrontier): “the relation is a total order”.ValuationRing.commGroupWithZeroregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 189 (StacksFrontier): “abelian group law on Gamma”.ValuationRing.linearOrderedCommGroupWithZeroregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 190 (StacksFrontier): “compatibility of the order with the group law”.Units.isOrderedMonoidregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 192 (StacksFrontier): “restriction to Gamma = units (nonzero part) is an ordered group”.
Tag 00IE, a definition
Tag 00IE in the Stacks Project.
Declarations registered for the tag:
ValuationRing.ValueGroupregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 206 (StacksFrontier): “(1) value group Gamma”.ValuationRing.linearOrderedCommGroupWithZeroregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 207 (StacksFrontier): “(1) Gamma is a totally ordered abelian group (with zero)”.ValuationRing.valuationregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 209 (StacksFrontier): “(2) the valuation v : K^* -> Gamma”.ValuationSubring.valuationregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 210 (StacksFrontier): “(1),(2) value group and valuation of a valuation subring”.IsDiscreteValuationRingregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 212 (StacksFrontier): “(3) discrete valuation ring”. References: EGA IV (3.4.1).Valuation.valuationSubring_isDiscreteValuationRingregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 213 (StacksFrontier): “(3) Gamma = Z => DVR”.IsDiscreteValuationRing.isRankOneDiscreteregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 214 (StacksFrontier): “(3) DVR => valuation discrete”.Valuation.IsRankOneDiscrete.valueGroup₀_equiv_withZeroMulIntregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 215 (StacksFrontier): “(3) discrete valuation has value group = Z”.
Tag 00IF, a lemma
Tag 00IF in the Stacks Project.
Declarations registered for the tag:
ValuationSubring.valuation_eq_one_iffregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 218 (StacksFrontier): “(1) v(a) = 0 <=> a in A^*”.Valuation.Integers.isUnit_iff_valuation_eq_oneregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 219 (StacksFrontier): “(1) v(a) = 0 <=> a in A^* (integers of a valuation)”.Valuation.map_mulregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 221 (StacksFrontier): “(2) v(ab) = v(a) + v(b)”.Valuation.map_addregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 222 (StacksFrontier): “(3) v(a+b) >= min(v(a), v(b))”.ValuationSubring.valuation_le_oneregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 223 (StacksFrontier): “v takes values in Gamma_{>=0} on A”.
Tag 090Q, a lemma
Tag 090Q in the Stacks Project.
Declarations registered for the tag:
ValuationRing.iff_local_bezout_domainregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Criteria.lean, line 41 (StacksFrontier).IsBezout.isPrincipal_of_FGregistered withadd_to_stacksin StacksFrontier/RingTheory/Valuation/Criteria.lean, line 42 (StacksFrontier): “every finitely generated ideal is principal”.
Tag 00IG, a lemma
Tag 00IG in the Stacks Project.
StacksValuation.isValuationRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/ValueGroup.lean, line 234. The attribute's comment: “Valuation ring, unit group and maximal ideal only. The value-group clause Kˣ/A* ≅ Im(v) is NOT formalized: the fourth conjunct merely says Set.range v is a subgroup of Γ.”.
Stacks 00IG (
lemma-valuation-valuation-ring). Let(Γ, ≥)be a totally ordered abelian group,Ka field, andv : Kˣ → Γa group homomorphism withv(a + b) ≥ min (v a) (v b)fora, b, a + bnonzero. ThenA = {x ∈ K | x = 0 ∨ v x ≥ 0}is a valuation ring with value groupIm(v) ⊆ Γ, with maximal idealm = {x ∈ K | x = 0 ∨ v x > 0}and group of unitsA* = {x ∈ Kˣ | v x = 0}.Formalized here:
ValuationRing A, the unit-group description and the maximal-ideal description. The value-group clause is not formalized. The fourth conjunct below only records thatSet.range vis an additive subgroup ofΓ, which is a triviality about any group homomorphism; it does not relateA's own value groupKˣ/A*toIm(v). Stating that identification needsAas aValuationSubring K(so thatIsFractionRing A KandValuationRing.valuation A Kare available), whereasintegerSubringis a bareSubring. The@[stacks 00IG]attribute is qualified accordingly.
theorem isValuationRing :
-- `A` is a valuation ring.
ValuationRing sv.integerSubring ∧
-- The group of units of `A` is `{x | v x = 0}`.
(∀ x : sv.integerSubring, IsUnit x ↔ sv.addVal (x : K) = 0) ∧
-- The maximal ideal of `A` is `m = {x | v x > 0}`.
(∀ x : sv.integerSubring,
x ∈ IsLocalRing.maximalIdeal sv.integerSubring ↔ 0 < sv.addVal (x : K)) ∧
-- The value group `Im(v) ⊆ Γ` is an additive subgroup of `Γ`.
((0 : Γ) ∈ Set.range sv.toFun ∧
(∀ g ∈ Set.range sv.toFun, ∀ g' ∈ Set.range sv.toFun, g + g' ∈ Set.range sv.toFun) ∧
(∀ g ∈ Set.range sv.toFun, -g ∈ Set.range sv.toFun))
Tag 00IH, a lemma
Tag 00IH in the Stacks Project.
ideals_correspond_to_valueGroupIdeals, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/ValueGroup.lean, line 535.
Stacks tag 00IH. Let
Abe a valuation ring with fraction fieldKand value groupΓ = ValueGroup A K. The ideals ofAare in inclusion-preserving bijection with the ideals ofΓ(IsIdealGamma), viaΦ(𝔞) = v(𝔞 \ {0}), and this bijection carries prime ideals to prime ideals (and reflects them).
theorem ideals_correspond_to_valueGroupIdeals :
∃ e : Ideal A ≃ {I : Set (Gamma A K) // IsIdealGamma A K I},
(∀ 𝔞 𝔟 : Ideal A, 𝔞 ≤ 𝔟 ↔ (e 𝔞).1 ⊆ (e 𝔟).1) ∧
(∀ 𝔞 : Ideal A, 𝔞.IsPrime ↔ IsPrimeIdealGamma A K (e 𝔞).1)
Tag 00II, a lemma
Tag 00II in the Stacks Project.
valuation_ring_noetherian_iff_dvr_or_field, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Valuation/Criteria.lean, line 55. References: EGA II (7.1.6), “valuation ring ⇒ DVR”.
A valuation ring is Noetherian if and only if it is a discrete valuation ring or a field.
theorem valuation_ring_noetherian_iff_dvr_or_field
(A : Type*) [CommRing A] [IsDomain A] [ValuationRing A] :
IsNoetherianRing A ↔ IsDiscreteValuationRing A ∨ IsField A
Sources
Section10.51 More Noetherian rings#
Section 10.51 of the Stacks Project, Tag 00IJ. 5 tags here are carried by 4 declarations of the repository (all in StacksFrontier) and 5 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00IK, a lemma
Tag 00IK in the Stacks Project.
Declarations registered for the tag:
Module.finitePresentation_of_finiteregistered withadd_to_stacksin StacksFrontier/RingTheory/Noetherian/Basic.lean, line 23 (StacksFrontier): “(1)”. References: EGA 0 (1.0.5), “more general”; EGA 0 (1.3.5), “more general”.isNoetherian_of_isNoetherianRing_of_finiteregistered withadd_to_stacksin StacksFrontier/RingTheory/Noetherian/Basic.lean, line 24 (StacksFrontier): “(2) and (3): a finite module over a Noetherian ring is Noetherian”. References: SGA 6 I (1.3), “more general”.IsNoetherian.noetherianregistered withadd_to_stacksin StacksFrontier/RingTheory/Noetherian/Basic.lean, line 27 (StacksFrontier): “(2): the submodules of a Noetherian module are finitely generated”.isNoetherian_iff'registered withadd_to_stacksin StacksFrontier/RingTheory/Noetherian/Basic.lean, line 29 (StacksFrontier): “(3): a Noetherian module satisfies the ascending chain condition on submodules”.
Tag 00IN, a lemma
Tag 00IN in the Stacks Project.
artin_rees, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Noetherian/ArtinRees.lean, line 66. References: EGA 0 (7.3.2.1).
Artin–Rees lemma. For a Noetherian ring
R, an idealI ⊆ Rand a submoduleNof a finiteR-moduleM, there is a constantc > 0withI^n M ⊓ N = I^(n-c) • (I^c M ⊓ N)for everyn ≥ c.
theorem artin_rees
{R : Type*} {M : Type*} [CommRing R] [AddCommGroup M] [Module R M]
[IsNoetherianRing R] [Module.Finite R M]
(I : Ideal R) (N : Submodule R M) :
∃ c > 0, ∀ n ≥ c,
(I ^ n • (⊤ : Submodule R M)) ⊓ N
= I ^ (n - c) • ((I ^ c • (⊤ : Submodule R M)) ⊓ N)
Tag 00IO, a lemma
Tag 00IO in the Stacks Project.
exists_comap_smul_eq_and_range_inf_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Noetherian/ArtinRees.lean, line 158. References: EGA 0 (7.3.2.1), “more general”.
Map version of Artin–Rees. For an exact sequence
0 → K → M → Nof finitely generated modules over a Noetherian ringRand an idealI, there is a constantcsuch that for alln ≥ c,f⁻¹(IⁿN) = K + Iⁿ⁻ᶜ · f⁻¹(IᶜN)andf(M) ∩ IⁿN ⊆ f(Iⁿ⁻ᶜ M).
theorem exists_comap_smul_eq_and_range_inf_le
{R : Type*} [CommRing R] [IsNoetherianRing R]
{M N : Type*} [AddCommGroup M] [AddCommGroup N]
[Module R M] [Module R N] [Module.Finite R M] [Module.Finite R N]
(f : M →ₗ[R] N) (I : Ideal R) :
∃ c, ∀ n ≥ c,
Submodule.comap f (I ^ n • (⊤ : Submodule R N)) =
LinearMap.ker f +
I ^ (n - c) • Submodule.comap f (I ^ c • (⊤ : Submodule R N)) ∧
LinearMap.range f ⊓ (I ^ n • (⊤ : Submodule R N)) ≤
Submodule.map f (I ^ (n - c) • (⊤ : Submodule R M))
Tag 00IP, a lemma
Tag 00IP in the Stacks Project.
Declarations registered for the tag:
Ideal.iInf_pow_smul_eq_bot_of_isLocalRingregistered withadd_to_stacksin StacksFrontier/RingTheory/Noetherian/ArtinRees.lean, line 175 (StacksFrontier): “Krull's intersection theorem for a finite module over a Noetherian local ring”.
Tag 00IQ, a lemma
Tag 00IQ in the Stacks Project.
exists_notMem_localized_krullIntersection_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Noetherian/ArtinRees.lean, line 206. References: EGA 0 (7.4.2), “more general”; SGA 3 VIB (6.5.3), “special case”.
For every prime ideal
pcontainingI, there existsf ∈ Rwithf ∉ psuch that the localization ofN = ⋂_n I^n Mat the submonoid generated byfis the zero submodule.
theorem exists_notMem_localized_krullIntersection_eq_bot
{R : Type*} [CommRing R] [IsNoetherianRing R]
{M : Type*} [AddCommGroup M] [Module R M] [Module.Finite R M]
(I : Ideal R) (p : Ideal R) [p.IsPrime] (hIp : I ≤ p) :
∃ f : R, f ∉ p ∧
(krullIntersection M I).localized (Submonoid.powers f) = ⊥
krullIntersection_eq_bot_of_le_jacobson, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Noetherian/ArtinRees.lean, line 228. References: EGA 0 (7.3.5), “(a) => (c)”.
If
Iis contained in the Jacobson radical ofR, thenN = ⋂_n I^n M = 0.
theorem krullIntersection_eq_bot_of_le_jacobson
{R : Type*} [CommRing R] [IsNoetherianRing R]
{M : Type*} [AddCommGroup M] [Module R M] [Module.Finite R M]
(I : Ideal R) (hI : I ≤ Ideal.jacobson ⊥) :
krullIntersection M I = ⊥
Sources
Section10.52 Length#
Section 10.52 of the Stacks Project, Tag 00IU. 14 tags here are carried by 12 declarations of the repository (all in StacksFrontier) and 11 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02LY, a definition
Tag 02LY in the Stacks Project.
Declarations registered for the tag:
Module.lengthregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 29 (StacksFrontier): “the length of a module”. References: EGA IV (3.4.1).Module.length_eq_heightregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 31 (StacksFrontier): “as a supremum over chains of submodules”.Module.length_compositionSeriesregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 32 (StacksFrontier): “read off a composition series”.
Tag 02LZ, a lemma
Tag 02LZ in the Stacks Project.
Declarations registered for the tag:
Module.length_ne_top_iffregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 201 (StacksFrontier): “step 1: length ≠ ⊤ ↔ finite length”.isFiniteLength_iff_isNoetherian_isArtinianregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 202 (StacksFrontier): “step 2: finite length → Noetherian (and Artinian)”. References: SGA 3 VIIB (0.4.2), “more general”.Module.IsNoetherian.finiteregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 204 (StacksFrontier): “step 3: Noetherian → finite”.
Tag 00IV, a lemma
Tag 00IV in the Stacks Project.
Declarations registered for the tag:
Module.length_eq_add_of_exactregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 39 (StacksFrontier).
Tag 00IW, a lemma
Tag 00IW in the Stacks Project.
exists_pow_maximalIdeal_smul_eq_bot_of_length_lt_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Finiteness.lean, line 103.
Stacks 00IW. For a local ring
Rwith maximal idealm, if theR-moduleMhas finite length thenm ^ n M = 0for somen ≥ 0.
theorem exists_pow_maximalIdeal_smul_eq_bot_of_length_lt_top
(R : Type*) [CommRing R] [IsLocalRing R]
(M : Type*) [AddCommGroup M] [Module R M]
(h : Module.length R M < ⊤) :
∃ n : ℕ, IsLocalRing.maximalIdeal R ^ n • (⊤ : Submodule R M) = ⊥
Tag 00IX, a lemma
Tag 00IX in the Stacks Project.
Module.length_le_length_restrictScalars, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Comparison.lean, line 67. The attribute's comment: “(1)”.
For a ring map
φ : R → Sand anS-moduleM, viewed as anR-module by restriction of scalars alongφ, the length overRis at least the length overS.
theorem Module.length_le_length_restrictScalars
(R S : Type*) [CommRing R] [CommRing S] (φ : R →+* S)
(M : Type*) [AddCommGroup M] [Module S M] :
letI : Module R M := Module.compHom M φ
Module.length S M ≤ Module.length R M
length_restrictScalars_eq_of_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Comparison.lean, line 78. The attribute's comment: “(2)”.
For a surjective ring map
φ : R → Sand anS-moduleM, viewed as anR-module by restriction of scalars alongφ, the length overRequals the length overS.
theorem length_restrictScalars_eq_of_surjective
(R S : Type*) [CommRing R] [CommRing S] (φ : R →+* S)
(hφ : Function.Surjective φ)
(M : Type*) [AddCommGroup M] [Module S M] :
letI : Module R M := Module.compHom M φ
Module.length R M = Module.length S M
Tag 00IY, a lemma
Tag 00IY in the Stacks Project.
length_eq_rank_of_maximal_smul_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Comparison.lean, line 129. The attribute's comment: “(1)”.
Length of
Mas anR-module equals the dimension ofMas anR ⧸ m-vector space, whenm M = 0for a maximal idealm.
theorem length_eq_rank_of_maximal_smul_eq_zero
(R : Type*) [CommRing R] (m : Ideal R) [m.IsMaximal]
(M : Type*) [AddCommGroup M] [Module R M]
(hM : ∀ r ∈ m, ∀ x : M, r • x = 0) :
letI hTors : Module.IsTorsionBySet R M (m : Set R) :=
fun x a => hM a.1 a.2 x
letI : Module (R ⧸ m) M := hTors.module
Module.length R M = Cardinal.toENat (Module.rank (R ⧸ m) M)
length_lt_top_iff_finite_of_smul_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Comparison.lean, line 145. The attribute's comment: “(2)”.
The length of
Mis finite if and only ifMis a finiteR-module, whenm M = 0for a maximal idealm.
theorem length_lt_top_iff_finite_of_smul_eq_zero
(R : Type*) [CommRing R] (m : Ideal R) [m.IsMaximal]
(M : Type*) [AddCommGroup M] [Module R M]
(hM : ∀ r ∈ m, ∀ x : M, r • x = 0) :
Module.length R M < ⊤ ↔ Module.Finite R M
Tag 00IZ, a lemma
Tag 00IZ in the Stacks Project.
Module.length_localizedModule_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Comparison.lean, line 194.
Stacks Tag 00IZ. Let
Rbe a ring,ManR-module, andS ⊆ Ra multiplicative subset. Thenlength_R(M) ≥ length_{S⁻¹R}(S⁻¹M).
theorem Module.length_localizedModule_le :
Module.length (Localization S) (LocalizedModule S M) ≤ Module.length R M
Tag 00J0, a lemma
Tag 00J0 in the Stacks Project.
length_lt_top_of_pow_smul_eq_bot, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Finiteness.lean, line 234.
Stacks 00J0. Let
Rbe a commutative ring with finitely generated maximal idealm. IfMis a finiteR-module withm ^ n • M = 0for somen, thenlength_R M < ∞.
theorem length_lt_top_of_pow_smul_eq_bot
{R : Type*} [CommRing R]
(m : Ideal R) [m.IsMaximal] (hm : m.FG)
{M : Type*} [AddCommGroup M] [Module R M] [Module.Finite R M]
(n : ℕ) (hn : m ^ n • (⊤ : Submodule R M) = ⊥) :
Module.length R M < ⊤
Tag 00J1, a definition
Tag 00J1 in the Stacks Project.
Declarations registered for the tag:
IsSimpleModuleregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 35 (StacksFrontier): “simple modules”.isSimpleModule_iffregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 36 (StacksFrontier): “unfolded”.
Tag 00J2, a lemma
Tag 00J2 in the Stacks Project.
Declarations registered for the tag:
Module.length_eq_one_iffregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 42 (StacksFrontier): “simple ↔ length one”.isSimpleModule_iff_quot_maximalregistered withadd_to_stacksin StacksFrontier/RingTheory/Length/Defs.lean, line 43 (StacksFrontier): “simple ↔ a quotient by a maximal ideal”.
Tag 00J3, a lemma
Tag 00J3 in the Stacks Project.
length_eq_and_subQuot_isSimpleModule_and_exists_quot_maximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/CompositionSeries.lean, line 124.
Stacks 00J3 (parts 1, 2, 3). For a finite-length
R-moduleMand a maximal chain0 = M_0 ⊂ M_1 ⊂ … ⊂ M_n = Mof submodules, we have
n = length_R(M)(length is well-defined on maximal chains);- each successive quotient
M_{i+1}/M_iis simple;- each successive quotient is isomorphic to
R/𝔪for some maximal ideal𝔪.Part (4) of Stacks 00J3, which counts the indices
iwith𝔪_i = 𝔪in terms of the length of a localization, is not covered by this statement.
theorem length_eq_and_subQuot_isSimpleModule_and_exists_quot_maximal
{R : Type*} [CommRing R] {M : Type*} [AddCommGroup M] [Module R M]
{n : ℕ} (M' : Fin (n + 1) → Submodule R M) (hchain : IsMaximalChainPrime M') :
((compositionSeriesOfMaximalChain M' hchain).length : ℕ∞)
= Module.length R M ∧
(∀ i : Fin n, IsSimpleModule R (subQuot M' i)) ∧
(∀ i : Fin n, ∃ (𝔪 : Ideal R) (_ : 𝔪.IsMaximal),
Nonempty (subQuot M' i ≃ₗ[R] R ⧸ 𝔪))
Tag 02M0, a lemma
Tag 02M0 in the Stacks Project.
length_eq_sum_residue_degree_mul_localized_length, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/SemiLocal.lean, line 200. References: EGA IV (21.10.11), “partial”; SGA 3 VIIB (1.2.6), “partial”.
Stacks 02M0. Length over a local ring
Aof a finite-length moduleMover a semi-localA-algebraB, expressed as a sum over the (finitely many) maximal ideals ofBof the residue degrees times the lengths of the localizations.
theorem length_eq_sum_residue_degree_mul_localized_length
{A B : Type*} [CommRing A] [CommRing B] [IsLocalRing A] [Algebra A B]
{M : Type*} [AddCommGroup M] [Module B M] [Module A M] [IsScalarTower A B M]
(n : ℕ) (𝔪 : Fin n → Ideal B)
-- `B` is semi-local with the `𝔪 i` being exactly its maximal ideals:
(hmax : ∀ i, (𝔪 i).IsMaximal)
(hinj : Function.Injective 𝔪)
(hsurj : ∀ I : Ideal B, I.IsMaximal → ∃ i, 𝔪 i = I)
-- each `𝔪 i` lies over the maximal ideal of `A`:
(hlies : ∀ i, IsLocalRing.maximalIdeal A = (𝔪 i).comap (algebraMap A B))
-- `M` has finite length over `B`:
(hM : IsFiniteLength B M) :
-- introduce the residue-field algebra structures and the primality of the `𝔪 i`:
letI : ∀ i, (𝔪 i).IsMaximal := hmax
letI : ∀ i, Algebra (IsLocalRing.maximalIdeal A).ResidueField (𝔪 i).ResidueField :=
fun i => residueFieldAlgebra (𝔪 i) (hlies i)
-- finiteness of residue degrees `[κ(𝔪 i) : κ(𝔪)] < ∞`:
(∀ i, Module.Finite (IsLocalRing.maximalIdeal A).ResidueField (𝔪 i).ResidueField) →
-- `M` has finite length over `A`, and the length formula holds in `ℕ∞`:
IsFiniteLength A M ∧
Module.length A M
= ∑ i : Fin n,
(Module.finrank (IsLocalRing.maximalIdeal A).ResidueField (𝔪 i).ResidueField : ℕ∞)
* Module.length (Localization.AtPrime (𝔪 i))
(LocalizedModule (𝔪 i).primeCompl M)
Tag 02M1, a lemma
Tag 02M1 in the Stacks Project.
length_baseChange_eq_length_mul_length_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/FlatLocalHom.lean, line 57. References: EGA IV (2.5.5.3); EGA IV (2.5.5.2), “case N = B”; EGA IV (2.5.5.1), “F = structure sheaf”; EGA IV (4.7.1), “more general”; EGA IV (4.7.2), “more general”.
For a flat local homomorphism
A → Bof local rings and everyA-moduleM, the length ofMoverAtimes the length ofB / m_A BoverBequals the length of the base changeB ⊗[A] MoverB, as an identity inℕ∞.
theorem length_baseChange_eq_length_mul_length_quotient
(A B : Type*) [CommRing A] [CommRing B] [Algebra A B] [IsLocalRing A] [IsLocalRing B]
[IsLocalHom (algebraMap A B)] [Module.Flat A B]
(M : Type*) [AddCommGroup M] [Module A M] :
Module.length A M *
Module.length B (B ⧸ extendedMaximalIdeal A B) =
Module.length B (B ⊗[A] M)
finite_length_iff_finite_length_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/FlatLocalHom.lean, line 70. References: EGA IV (2.5.5.3), “in particular”; EGA IV (4.7.1).
For a flat local homomorphism
A → Bof local rings such thatB / m_A Bhas finite length overB, anA-moduleMhas finite length overAif and only if its base changeB ⊗[A] Mhas finite length overB.
theorem finite_length_iff_finite_length_baseChange
(A B : Type*) [CommRing A] [CommRing B] [Algebra A B] [IsLocalRing A] [IsLocalRing B]
[IsLocalHom (algebraMap A B)] [Module.Flat A B]
(hfin : Module.length B (B ⧸ extendedMaximalIdeal A B) < ⊤)
(M : Type*) [AddCommGroup M] [Module A M] :
Module.length A M < ⊤ ↔ Module.length B (B ⊗[A] M) < ⊤
Tag 02M2, a lemma
Tag 02M2 in the Stacks Project.
length_quotient_maximalIdeal_map_mul_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/FlatLocalHom.lean, line 143. References: EGA IV (2.5.5.1), “special case”; EGA IV (2.5.5.2), “special case”; EGA IV (2.5.5.3), “special case”.
For flat local homomorphisms of local rings
f : A → Bandg : B → C, the length ofB / m_A BoverBtimes the length ofC / m_B CoverCequals the length ofC / m_A CoverC, wherem_A Cis the extension ofm_Aalong the compositeA → C. The equality holds inℕ∞.
theorem length_quotient_maximalIdeal_map_mul_eq
(_hf_local : IsLocalHom f) (hg_local : IsLocalHom g)
(_hf_flat : f.Flat) (hg_flat : g.Flat) :
Module.length B (B ⧸ Ideal.map f (maximalIdeal A)) *
Module.length C (C ⧸ Ideal.map g (maximalIdeal B))
= Module.length C (C ⧸ Ideal.map (g.comp f) (maximalIdeal A))
Sources
Section10.53 Artinian rings#
Section 10.53 of the Stacks Project, Tag 00J4. 4 tags here are carried by 5 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00J5, a definition
Tag 00J5 in the Stacks Project.
Declarations registered for the tag:
monotone_stabilizes_iff_artinianregistered withadd_to_stacksin StacksFrontier/RingTheory/Artinian/Basic.lean, line 300 (StacksFrontier): “the descending chain condition, as stabilization of monotone chains”.
Tag 00J6, a lemma
Tag 00J6 in the Stacks Project.
finite_dimensional_algebra_is_artinian, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/Basic.lean, line 158. References: EGA IV (2.5.8.8), “special case”.
A finite-dimensional algebra over a field is an Artinian ring.
theorem finite_dimensional_algebra_is_artinian
(K : Type*) [Field K] (R : Type*) [Ring R] [Algebra K R]
[FiniteDimensional K R] : IsArtinianRing R
Tag 00JA, a lemma
Tag 00JA in the Stacks Project.
MaximalSpectrum.algebraMap_pi_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/Basic.lean, line 102. The attribute's comment: “The product decomposition, for an arbitrary family of localizations. Discreteness of Spec R is the tag's own hypothesis, by PrimeSpectrum.discreteTopology_iff_finite_isMaximal_and_sInf_le_nilradical.”. References: SGA 3 VIIB (0.1.1), “partial”.
Stacks 00JA and 00JB (the product decomposition). A commutative semiring with discrete prime spectrum — in particular an Artinian ring — is the product of its localizations at its (finitely many) maximal ideals: for any family
Rₘof localizations ofRat the maximal ideals ofR, the canonical mapR → ∀ 𝔪, Rₘ 𝔪is bijective.
public theorem algebraMap_pi_bijective (R : Type*) [CommSemiring R]
[DiscreteTopology (PrimeSpectrum R)]
(Rₘ : MaximalSpectrum R → Type*) [∀ m, CommSemiring (Rₘ m)] [∀ m, Algebra R (Rₘ m)]
[∀ m, IsLocalization.AtPrime (Rₘ m) m.asIdeal] :
Function.Bijective (algebraMap R (∀ m, Rₘ m))
nonempty_ringEquiv_pi_localization_and_isMaximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/Basic.lean, line 122. References: EGA I (6.2.2), “affine, special case”.
A ring with finitely many maximal ideals whose Jacobson radical is contained in the nilradical is isomorphic to the product of its localizations at its maximal ideals, and every prime ideal of it is maximal.
theorem nonempty_ringEquiv_pi_localization_and_isMaximal (R : Type*) [CommRing R] [Finite
(MaximalSpectrum R)]
(h : Ring.jacobson R ≤ nilradical R) :
Nonempty (R ≃+* (Π m : MaximalSpectrum R, Localization.AtPrime m.asIdeal)) ∧
(∀ p : Ideal R, p.IsPrime → p.IsMaximal)
Tag 00JB, a lemma
Tag 00JB in the Stacks Project.
MaximalSpectrum.algebraMap_pi_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/Basic.lean, line 102. The attribute's comment: “The final assertion, under discreteness of Spec R in place of Artinian-ness”. References: SGA 3 VIIB (0.1.1), “partial”.
Stacks 00JA and 00JB (the product decomposition). A commutative semiring with discrete prime spectrum — in particular an Artinian ring — is the product of its localizations at its (finitely many) maximal ideals: for any family
Rₘof localizations ofRat the maximal ideals ofR, the canonical mapR → ∀ 𝔪, Rₘ 𝔪is bijective.
public theorem algebraMap_pi_bijective (R : Type*) [CommSemiring R]
[DiscreteTopology (PrimeSpectrum R)]
(Rₘ : MaximalSpectrum R → Type*) [∀ m, CommSemiring (Rₘ m)] [∀ m, Algebra R (Rₘ m)]
[∀ m, IsLocalization.AtPrime (Rₘ m) m.asIdeal] :
Function.Bijective (algebraMap R (∀ m, Rₘ m))
isArtinianRing_iff_isFiniteLength_and_isNoetherianRing_and_toPiLocalization_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/Basic.lean, line 291. The attribute's comment: “All four assertions: the finite-length criterion, Noetherianness, maximality of the primes, and the product decomposition, the last as bijectivity of the canonical map.”. References: EGA I (6.2.2), “affine, special case”; SGA 3 VIIB (0.1.1), “partial, special case”.
Artinian rings have finite length, and decompose. A commutative ring
Ris Artinian if and only if it has finite length as a module over itself; and any Artinian ringRis also Noetherian, has all of its prime ideals maximal, has only finitely many maximal ideals, and is the product of its localizations at them, in the sense that the canonicalR-algebra mapR → ∀ 𝔪 : MaximalSpectrum R, Localization.AtPrime 𝔪is bijective.
public theorem
isArtinianRing_iff_isFiniteLength_and_isNoetherianRing_and_toPiLocalization_bijective
(R : Type*) [CommRing R] :
(IsArtinianRing R ↔ IsFiniteLength R R) ∧
(IsArtinianRing R → IsNoetherianRing R ∧ (∀ p : Ideal R, p.IsPrime → p.IsMaximal) ∧
Finite (MaximalSpectrum R) ∧
Function.Bijective (MaximalSpectrum.toPiLocalization R))
Sources
Section10.54 Homomorphisms essentially of finite type#
Section 10.54 of the Stacks Project, Tag 07DR. 5 tags here are carried by 9 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00QM, a definition
Tag 00QM in the Stacks Project.
IsEssentiallyOfFiniteType, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/Defs.lean, line 55. The attribute's comment: “(1)”. References: EGA IV (1.3.8).
A ring map
f : R →+* Sis essentially of finite type ifSis, as anR-algebra (viaf), the localization at some submonoid of anR-algebraTof finite type.
def IsEssentiallyOfFiniteType.{u} (R S : Type u) [CommRing R] [CommRing S]
(f : R →+* S) : Prop
IsEssentiallyOfFinitePresentation, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/Defs.lean, line 65. The attribute's comment: “(2)”.
A ring map
f : R →+* Sis essentially of finite presentation ifSis, as anR-algebra (viaf), the localization at some submonoid of anR-algebraTof finite presentation.
def IsEssentiallyOfFinitePresentation.{u} (R S : Type u) [CommRing R] [CommRing S]
(f : R →+* S) : Prop
Tag 07DS, a lemma
Tag 07DS in the Stacks Project.
essFiniteType_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/Composition.lean, line 256. The attribute's comment: “(1)”. References: EGA IV (1.3.9).
Statement 1. The class of ring maps essentially of finite type is preserved under composition (Stacks Tag 07DS, first assertion).
theorem essFiniteType_comp {R : Type u} {S : Type v} {T : Type w}
[CommRing R] [CommRing S] [CommRing T] {f : R →+* S} {g : S →+* T}
(hf : f.EssFiniteType) (hg : g.EssFiniteType) : (g.comp f).EssFiniteType
essFinitePresentation_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/Composition.lean, line 282. The attribute's comment: “(2)”.
Statement 2. The class of ring maps essentially of finite presentation is preserved under composition (Stacks Tag 07DS, second assertion).
The proof combines Stacks tag 053N, transitivity of finite presentation, localization-of-localization, and a universe re-presentation:
- Unpack
hf: f.p.R-algebraA, withS = M⁻¹A(IsLocalization M S). Unpackhg: f.p.S-algebraB, withT = N₂⁻¹B(IsLocalization N₂ T).Aacts onBthroughS(IsScalarTower A S B).essFP_descent M B: descendBto a f.p.A-algebraB₀withB = N⁻¹B₀(IsLocalization N B).Algebra.FinitePresentation.trans R A B₀: sinceAis f.p./R andB₀is f.p./A,B₀is f.p./R.- localization-of-localization:
B = N⁻¹B₀andT = N₂⁻¹B, soT = U⁻¹B₀forU := localizationLocalizationSubmodule N N₂(IsLocalization.localization_localization_isLocalization).essFP_reuniverse: re-present the f.p.R-algebraB₀ : Type (max u v w)(with its localizationIsLocalization U T) by a f.p.R-algebraA' : Type (max u w)carryingIsLocalization U' T, matching the universe demanded byRingHom.EssentiallyOfFinitePresentationforg.comp f : R →+* T.
theorem essFinitePresentation_comp {R : Type u} {S : Type v} {T : Type w}
[CommRing R] [CommRing S] [CommRing T] {f : R →+* S} {g : S →+* T}
(hf : f.EssentiallyOfFinitePresentation) (hg : g.EssentiallyOfFinitePresentation) :
(g.comp f).EssentiallyOfFinitePresentation
Tag 0AUF, a lemma
Tag 0AUF in the Stacks Project.
RingHom.EssentiallyOfFinitePresentation.baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/BaseChange.lean, line 84. The attribute's comment: “(2)”.
Essential finite presentation is preserved by base change. The target is written in the canonical tensor-product model of the pushout; invariance under isomorphism identifies this with any other model of the base change.
theorem baseChange {R : Type u} {S : Type v} {T : Type w}
[CommRing R] [CommRing S] [CommRing T] [Algebra R S]
(f : R →+* T) (h : f.EssentiallyOfFinitePresentation) :
letI := f.toAlgebra
((Algebra.TensorProduct.includeLeft (R := R) (S := S) (A := S) (B := T)).toRingHom)
|>.EssentiallyOfFinitePresentation
Declarations registered for the tag:
RingHom.EssFiniteType.isStableUnderBaseChangeregistered withadd_to_stacksin StacksFrontier/RingTheory/EssentialFiniteness/BaseChange.lean, line 30 (StacksFrontier): “(1)”. References: EGA IV (1.3.9).
Tag 07DT, a lemma
Tag 07DT in the Stacks Project.
finite_iff_residue_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/ArtinianTarget.lean, line 296. The attribute's comment: “(1)”.
f : R → Sis finite if and only if the compositeπ ∘ f : R → S/mis finite.
theorem finite_iff_residue_finite (f : R →+* S) :
f.Finite ↔ ((IsLocalRing.residue S).comp f).Finite
finiteType_iff_residue_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/ArtinianTarget.lean, line 306. The attribute's comment: “(2)”. References: EGA I (6.4.11), “special case”.
f : R → Sis of finite type if and only if the compositeπ ∘ f : R → S/mis of finite type.
theorem finiteType_iff_residue_finiteType (f : R →+* S) :
f.FiniteType ↔ ((IsLocalRing.residue S).comp f).FiniteType
essFiniteType_iff_residue_essFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/ArtinianTarget.lean, line 316. The attribute's comment: “(3)”. References: EGA I (6.4.11), “special case”.
f : R → Sis essentially of finite type if and only if the compositeπ ∘ f : R → S/mis essentially of finite type.
theorem essFiniteType_iff_residue_essFiniteType (f : R →+* S) :
f.EssFiniteType ↔ ((IsLocalRing.residue S).comp f).EssFiniteType
Tag 0AUG, a lemma
Tag 0AUG in the Stacks Project.
exists_isLocalizationOfQuotientMap_mvPolynomial_atMaximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Localization/ClosedPointOfSpecialFibre.lean, line 827.
Let
R → Sbe a ring map of local rings, not necessarily local, that is essentially of finite type. Then there aren : ℕand a maximal ideal𝔪 ⊆ R[x_1, …, x_n]lying over the maximal ideal ofRsuch thatSis a localization of a quotient of the local ringR[x_1, …, x_n]_𝔪, compatibly with theR-algebra structures.
theorem exists_isLocalizationOfQuotientMap_mvPolynomial_atMaximal
(R : Type u) (S : Type v) [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S]
[Algebra R S] [Algebra.EssFiniteType R S] :
∃ (n : ℕ) (𝔪 : Ideal (MvPolynomial (Fin n) R)) (_ : 𝔪.IsMaximal),
haveI : 𝔪.IsPrime := (‹𝔪.IsMaximal›).isPrime
𝔪.comap (algebraMap R (MvPolynomial (Fin n) R)) = IsLocalRing.maximalIdeal R ∧
∃ (g : Localization.AtPrime 𝔪 →+* S),
g.comp (algebraMap R (Localization.AtPrime 𝔪)) = algebraMap R S ∧
IsLocalizationOfQuotientMap g
Sources
Section10.55 K-groups#
Section 10.55 of the Stacks Project, Tag 00JC. 8 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00JD, a lemma
Tag 00JD in the Stacks Project.
length_K0prime_hom_exists, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Defs.lean, line 185.
Stacks Tag 00JD. If
Ris an Artinian local ring then the length function defines an abelian group homomorphismK'_0(R) →+ ℤsending the class of each presentationPto its integer length.
theorem length_K0prime_hom_exists (R : Type u) [CommRing R]
[IsArtinianRing R] [IsLocalRing R] :
∃ φ : K0prime R →+ ℤ,
∀ P : FGPres R, φ (K0prime.mk P) = lengthOfPresℤ R P
Tag 00JE, an example
Tag 00JE in the Stacks Project.
finrank_additive_of_shortExact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Field.lean, line 55. References: SGA 6 I (6.0), “(ii), special case”.
Over a field
k, the (finite) dimension function is additive on short exact sequences ofk-vector spaces inModuleCat.{u} k: if0 → X₁ → X₂ → X₃ → 0is short exact andX₂is finite-dimensional, thenfinrank k X₂ = finrank k X₁ + finrank k X₃.This is the core computation underlying the informal Stacks remark that
K₀(k) = K'₀(k) ≅ ℤfor a fieldk, with the isomorphism given by the dimension/length function. Indeed, this additivity is exactly the condition that makesfinrankdescend to a well-defined homomorphism from the Grothendieck group of finitely generatedk-modules toℤ.
theorem finrank_additive_of_shortExact {k : Type u} [Field k]
(S : ShortComplex (ModuleCat.{u} k))
(hfin : Module.Finite k S.X₂)
(hS : S.ShortExact) :
Module.finrank k S.X₂ = Module.finrank k S.X₁ + Module.finrank k S.X₃
Tag 00JF, an example
Tag 00JF in the Stacks Project.
K0_polynomial_isoZ, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/PID.lean, line 977. The attribute's comment: “K0(k[x]) ≅ ℤ”. References: SGA 6 IX (1.7), “special case”.
K0(k[x]) ≅ ℤ, exhibited by an explicit isomorphism that sends the class[k[x]]of the rank-1 free module to1. (The rank map.)
theorem K0_polynomial_isoZ (k : Type*) [Field k] :
∃ e : K0OfProjGen (Polynomial k) ≃+ ℤ,
e (K0OfProjGen.mk (Polynomial k) (K0Gen.free1 (Polynomial k))) = 1
K0'_polynomial_isoZ, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/PID.lean, line 989. The attribute's comment: “K0'(k[x]) ≅ ℤ”. References: SGA 6 IX (1.7), “Lemma 1.7, case A = k[T]”; SGA 6 IX (3.4), “Case S = Spec k”.
K0'(k[x]) ≅ ℤ, exhibited by an explicit isomorphism that sends the class[k[x]]to1(the rank of the free part). Every torsion finite module has class0.
theorem K0'_polynomial_isoZ (k : Type*) [Field k] :
∃ e : K0PrimeOfFinPres (Polynomial k) ≃+ ℤ,
e (K0PrimeOfFinPres.mk (Polynomial k) (K0'Gen.free1 (Polynomial k))) = 1
K0toK0'_polynomial_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/PID.lean, line 1005. The attribute's comment: “K0(k[x]) ≅ K0'(k[x])”.
The canonical homomorphism
ι : K0(k[x]) → K0'(k[x])is an isomorphism (it is bijective).Argument:
rankHom ∘ K0toK0' = rankHomK0(definitionally,rankHomK0), and bothrankHom(D6) andrankHomK0(D9) are bijective. ThereforeK0toK0' = rankHom.symm ∘ rankHomK0(as maps), a composite of bijections, hence bijective. Formally:K0toK0'is injective becauserankHom ∘ K0toK0' = rankHomK0is injective; it is surjective becauserankHomis bijective andrankHomK0 = rankHom ∘ K0toK0'is surjective.
theorem K0toK0'_polynomial_bijective (k : Type*) [Field k] :
Function.Bijective (K0toK0' (Polynomial k))
Tag 00JG, an example
Tag 00JG in the Stacks Project.
nodeRing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NodeRing.lean, line 59. References: EGA IV (6.5.5).
The "node" ring
R = {f ∈ k[x] ∣ f(0) = f(1)}, the subring of polynomials agreeing at0and1.
def nodeRing (k : Type*) [Field k] : Subring (Polynomial k)
Tag 00JH, a lemma
Tag 00JH in the Stacks Project.
K0_product, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Product/K0.lean, line 405. The attribute's comment: “K_0”.
For a product ring
R = R₁ × R₂, the natural homomorphismK₀(R) → K₀(R₁) × K₀(R₂), given on generators by[M] ↦ ([M ⊗_R R₁], [M ⊗_R R₂])(base change along the two projections), is an isomorphism of abelian groups.The product map is characterized by its values on the generating classes
K0.mk M; since these generateK0 (R₁ × R₂), the additive isomorphismebelow is unique with the stated property, so this faithfully expresses that the product map is an isomorphism.
theorem K0_product (R1 R2 : Type u) [CommRing R1] [CommRing R2] :
∃ e : K0 (R1 × R2) ≃+ (K0 R1 × K0 R2),
∀ M : FGProj (R1 × R2),
e (K0.mk M) =
( K0.mk (M.baseChangeHom (RingHom.fst R1 R2)),
K0.mk (M.baseChangeHom (RingHom.snd R1 R2)) )
K0prime_product, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Product/K0Prime.lean, line 513. The attribute's comment: “K'_0”.
Assume in addition that
R₁andR₂are Noetherian (equivalently thatR = R₁ × R₂is Noetherian). Then the natural homomorphismK'₀(R) → K'₀(R₁) × K'₀(R₂), given on generators by[M] ↦ ([M ⊗_R R₁], [M ⊗_R R₂]), is an isomorphism of abelian groups.As for Statement 1, the classes
K0prime.mk MgenerateK0prime (R₁ × R₂), so the additive isomorphismeis uniquely determined by the stated property.
theorem K0prime_product (R1 R2 : Type u) [CommRing R1] [CommRing R2]
[IsNoetherianRing R1] [IsNoetherianRing R2] :
∃ e : K0prime (R1 × R2) ≃+ (K0prime R1 × K0prime R2),
∀ M : FGPres (R1 × R2),
e (K0prime.mk M) =
( K0prime.baseChangeMk (RingHom.fst R1 R2) M.module,
K0prime.baseChangeMk (RingHom.snd R1 R2) M.module )
Tag 00JI, a lemma
Tag 00JI in the Stacks Project.
exists_finite_module_length_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Artinian.lean, line 92. The attribute's comment: “Surjectivity ingredient only: every n : ℕ is the length of a finite module. K'_0(R) and the isomorphism length_R : K'_0(R) ≃ ℤ are not formalized.”.
Stacks 00JI (length-surjectivity form).
For an Artinian local ring
R, the length map on finitely generatedR-modules hits every natural number: for eachn : ℕthere is a finitely generatedR-moduleMwithModule.length R M = n.This is the surjectivity ingredient of the Stacks statement that
length_R : K'_0(R) → ℤis an isomorphism. The full Stacks statement also needs the construction ofK'_0(R)(Stacks 00JH) and the injectivity oflength_R; those rely on the composition-series structure of Artinian local rings and are left to a follow-up file once Mathlib hasK'_0(R). The witness here is the standard one:M = (ResidueField R)^n.
theorem exists_finite_module_length_eq.{u} {R : Type u} [CommRing R] [IsLocalRing R]
[IsArtinianRing R] (n : ℕ) :
∃ (M : Type u) (_ : AddCommGroup M) (_ : Module R M) (_ : Module.Finite R M),
Module.length R M = n
Tag 00JJ, a lemma
Tag 00JJ in the Stacks Project.
K0.rank_isIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Defs.lean, line 508.
Over a local ring, the rank map
K_0(R) → ℤis an isomorphism. Combined withfinite_projective_is_finite_free, this gives the full statement of Stacks 00JJ.
theorem K0.rank_isIso
(R : Type u) [CommRing R] [IsLocalRing R] :
∃ e : K0 R ≃+ ℤ, ⇑e = K0.rank R
Tag 00JK, a lemma
Tag 00JK in the Stacks Project.
length_eq_finrank_mul_length_self, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/KTheory/Grothendieck/Artinian.lean, line 143. The attribute's comment: “Numerical identity length P = rank P * length R only; the commutative diagram K_0(R) → K'_0(R) → ℤ is not formalized.”.
Over a local Artinian ring
R, the length of any finite projectiveR-modulePequals the rank ofPtimes the length ofR. This is the mathematical content of the commutative diagram relatingK₀(R)andK'₀(R)for a local Artinian ringR: the rank-of-Rlength factor is exactly the bottom map of the diagram, and both vertical maps (rank and length) are isomorphisms withℤ.Proof sketch. Since
Ris a local ring andPis finitely generated and projective (hence flat),Pis free of finite rank byModule.free_of_flat_of_isLocalRing. ThenModule.length_of_free_of_finitegives the desired identity.
theorem length_eq_finrank_mul_length_self
(R : Type*) [CommRing R] [IsLocalRing R] [IsArtinianRing R]
(P : Type*) [AddCommGroup P] [Module R P]
[Module.Finite R P] [Module.Projective R P] :
Module.length R P = Module.finrank R P * Module.length R R
Sources
Section10.56 Graded rings#
Section 10.56 of the Stacks Project, Tag 00JL. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0EKB, a lemma
Tag 0EKB in the Stacks Project.
Submodule.IsHomogeneous.le_of_le_smul_of_le_irrelevant, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Nakayama.lean, line 242.
Stacks 0EKB (graded Nakayama). Let
A = ⨁ᵢ 𝒜ᵢbe a graded ring andM = ⨁_d ℳ_da gradedA-module. LetN, N' ⊆ Mbe graded submodules withN'finitely generated, and letI ⊆ 𝒜₊ = ⨁_{i > 0} 𝒜ᵢbe an ideal. IfN' ⊆ N + I N', thenN' ⊆ N.
public theorem Submodule.IsHomogeneous.le_of_le_smul_of_le_irrelevant
{ιA ιM σA σM A M : Type*} [CommSemiring A] [AddCommMonoid M] [Module A M]
[DecidableEq ιA] [AddCommMonoid ιA] [PartialOrder ιA] [CanonicallyOrderedAdd ιA]
[SetLike σA A] [AddSubmonoidClass σA A] {𝒜 : ιA → σA} [GradedRing 𝒜]
[DecidableEq ιM] [PartialOrder ιM] [SetLike σM M] [AddSubmonoidClass σM M]
{ℳ : ιM → σM} [DirectSum.Decomposition ℳ]
[AddAction ιA ιM] [IsOrderedCancelVAdd ιA ιM] [SetLike.GradedSMul 𝒜 ℳ]
{I : Ideal A} {N N' : Submodule A M}
(hN : N.IsHomogeneous ℳ) (hN' : N'.IsHomogeneous ℳ) (hfg : N'.FG)
(hI : I ≤ 𝒜₊.toIdeal) (hle : N' ≤ N ⊔ I • N') :
N' ≤ N
Tag 0EGH, a lemma
Tag 0EGH in the Stacks Project.
Stacks.Veronese.veronese_generated_in_deg_one_of_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Veronese.lean, line 516. References: EGA II (3.1.10), “affine case”; EGA II (2.1.6).
Theorem (Stacks Tag 0EGH, Lemma 10.56.2). Let
Sbe a graded ring that is finitely generated overS_0. Then for all sufficiently divisibledthe algebraS^{(d)}is generated in degree1overS_0: there is ad₀ ≥ 1such that for every positive multipledofd₀and everyn ≥ 1, theS_0-moduleS_{nd}equals theS_0-span of then-fold products of elements ofS_d.ASSEMBLY: 1. Get homogeneous positive-degree generators (Step A
homogeneous_generators_of_finiteType). 2. Case split onr = 0(degenerate, useveroneseGeneratedInDegOne_of_trivial, witnessd₀ = 1;Set.range f = ∅sinceFin 0is empty) vsr ≥ 1. 3. Forr ≥ 1: setL := ∏ i, deg i(positive common multiple of eachdeg i:1 ≤ LbyFinset.prod_pos;deg i ∣ LbyFinset.dvd_prod_of_mem), witnessd₀ := r * L ≥ 1, and discharge each positive multiple via Step H (veroneseGeneratedInDegOne_of_multiple).
theorem veronese_generated_in_deg_one_of_finiteType
(h : FinitelyGeneratedOverGradeZero 𝒜) :
ForAllSufficientlyDivisible (fun d => VeroneseGeneratedInDegOne 𝒜 d)
Tag 077G, a lemma
Tag 077G in the Stacks Project.
integralClosure_carrier_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/IntegralClosure/Homogeneous.lean, line 633.
If the structure map respects the gradings, an element of
Sis integral overRexactly when all of its homogeneous components are.
theorem integralClosure_carrier_eq
(hφ : RespectsGrading ℛ 𝒮) :
(integralClosure R S : Set S)
= {s : S | ∀ d : ℕ, GradedRing.proj 𝒮 d s ∈ integralClosure R S}
Sources
Section10.57 Proj of a graded ring#
Section 10.57 of the Stacks Project, Tag 00JM. 10 tags here are carried by 11 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00JN, a definition
Tag 00JN in the Stacks Project.
Proj, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Proj/Defs.lean, line 51. References: EGA II (2.3.1), “set of graded primes”; EGA III (4.3.13).
The homogeneous spectrum
Proj 𝒜of a graded ring: the set of homogeneous prime ideals𝔭ofAwith𝒜₊ ⊄ 𝔭, topologized by the subspace topology fromSpec A.
abbrev Proj : Type _
Tag 00JO, a lemma
Tag 00JO in the Stacks Project.
gradedPrimesComparison_isHomeomorph, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Proj/Defs.lean, line 467.
Let
Sbe aℤ-graded ring containing a homogeneous invertible element of positive degree. Then the comparison mapΦ : G → Spec(S₀),q ↦ q ∩ S₀, from the space ofℤ-graded primes ofS(with the subspace topology) toSpec(S₀), is a homeomorphism.
theorem gradedPrimesComparison_isHomeomorph
(hf : HasHomogeneousUnitOfPosDegree 𝒜) :
IsHomeomorph (gradedPrimesComparison 𝒜)
Tag 00JP, a lemma
Tag 00JP in the Stacks Project.
ProjectiveSpectrum.zeroLocus_empty_iff_irrelevant_le_radical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean, line 128. The attribute's comment: “Assertion (10); see the module docstring for the other nine.”. References: EGA II (2.3.16); EGA II (2.3.13), “more general”; EGA II (2.3.2), “V₊(S₊)=∅”; EGA II (8.3.4), “partial”.
The projective zero locus
V₊(I)of a homogeneous idealIof a graded ringAis empty if and only if the irrelevant ideal𝒜₊is contained in the radical ofI.
theorem zeroLocus_empty_iff_irrelevant_le_radical (I : HomogeneousIdeal 𝒜) :
zeroLocus 𝒜 (I : Set A) = ∅ ↔ HomogeneousIdeal.irrelevant 𝒜 ≤ I.radical
Tag 00JQ, an example
Tag 00JQ in the Stacks Project.
projToSpec_isHomeomorph, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Proj/Defs.lean, line 623. References: EGA II (3.1.7), “partial”.
The natural map
Proj(R[X]) → Spec(R)is a bijection and a homeomorphism.
theorem projToSpec_isHomeomorph : IsHomeomorph (projToSpec R)
Tag 00JR, a lemma
Tag 00JR in the Stacks Project.
HomogeneousLocalization.isLocalizedModule_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HomogeneousLocalization/DegreeZero/AtPrime.lean, line 521. The attribute's comment: “The module equality M_(𝔭) = (M_(f))_{𝔭'}; the ring equality S_(𝔭) = (S_(f))_{𝔭'} is AlgebraicGeometry.ProjectiveSpectrum.Proj.isLocalization_atPrime.”.
Let
Abe a graded ring, letMbe a gradedA-module, let𝔭be a homogeneous prime ideal ofA, and letf ∈ Abe homogeneous of positive degree withf ∉ 𝔭. Let𝔭'be the prime of the degree-zero localizationA⁰_fconsisting of the fractionsa/fⁿwitha ∈ 𝔭. Then theA⁰_f-moduleM_(𝔭)of degree-zero fractionsy/gwithg ∉ 𝔭homogeneous is the localization of theA⁰_f-moduleM_(f)of degree-zero fractionsy/fⁿat𝔭'.
public theorem isLocalizedModule_atPrime {σ τ A M : Type*} [CommRing A] [SetLike σ A]
[AddSubgroupClass σ A] [AddCommGroup M] [Module A M] [SetLike τ M] [AddSubmonoidClass τ M]
(𝒜 : ℕ → σ) [GradedRing 𝒜] (ℳ : ℤ → τ) [DirectSum.Decomposition ℳ]
(hℳ : ∀ (i : ℕ) (j : ℤ) (a : A) (y : M), a ∈ 𝒜 i → y ∈ ℳ j → a • y ∈ ℳ (i + j)) (𝔭 : Ideal A)
[𝔭.IsPrime] (h𝔭 : 𝔭.IsHomogeneous 𝒜) {f : A} {m : ℕ} (hf : f ∈ 𝒜 m) (hm : 0 < m) (hf𝔭 : f ∉ 𝔭)
(𝔭' : Ideal (Away 𝒜 f)) [𝔭'.IsPrime]
(h𝔭' : ∀ z : NumDenSameDeg 𝒜 (Submonoid.powers f), mk z ∈ 𝔭' ↔ (z.num : A) ∈ 𝔭) :
letI : Module (Away 𝒜 f) (LocalizedModule (Submonoid.powers f) M) :=
Module.compHom _ (algebraMap (Away 𝒜 f) (Localization (Submonoid.powers f)))
letI : Module (Away 𝒜 f) (LocalizedModule 𝔭.primeCompl M) :=
Module.compHom _
((algebraMap (AtPrime 𝒜 𝔭) (Localization 𝔭.primeCompl)).comp
(mapId 𝒜 (Submonoid.powers_le.mpr hf𝔭)))
∃ φ :
↥(Submodule.span (Away 𝒜 f)
{z : LocalizedModule (Submonoid.powers f) M |
∃ (i : ℕ) (y : M) (g : Submonoid.powers f),
y ∈ ℳ (i : ℤ) ∧ (g : A) ∈ 𝒜 i ∧ z = .mk y g}) →ₗ[Away 𝒜 f]
↥(Submodule.span (Away 𝒜 f)
{z : LocalizedModule 𝔭.primeCompl M |
∃ (i : ℕ) (y : M) (g : 𝔭.primeCompl), y ∈ ℳ (i : ℤ) ∧ (g : A) ∈ 𝒜 i ∧ z = .mk y g}),
(∀ z,
(φ z : LocalizedModule 𝔭.primeCompl M) =
LocalizedModule.liftOfLE _ _ (Submonoid.powers_le.mpr hf𝔭) (z : _)) ∧
IsLocalizedModule 𝔭'.primeCompl φ
Tag 00JS, a lemma
Tag 00JS in the Stacks Project.
graded_silly, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Proj/PrimeAvoidance.lean, line 255. References: SGA 3 V (7.2), “partial”.
Graded prime avoidance: if
p₁, …, p_rare homogeneous prime ideals of a graded ring andIis a homogeneous ideal contained in the irrelevant ideal with¬ I ≤ pᵢfor everyi, thenIcontains a homogeneous element of positive degree lying outside everypᵢ.
theorem graded_silly
{r : ℕ} (p : Fin r → HomogeneousIdeal 𝒜) (hp : ∀ i, (p i).toIdeal.IsPrime)
(I : HomogeneousIdeal 𝒜) (hI : I ≤ HomogeneousIdeal.irrelevant 𝒜)
(hIp : ∀ i, ¬ I ≤ p i) :
∃ x : S, x ∈ I.toIdeal ∧ (∃ d : ℕ, 1 ≤ d ∧ x ∈ 𝒜 d) ∧ ∀ i, x ∉ (p i).toIdeal
Tag 00JT, a lemma
Tag 00JT in the Stacks Project.
Declarations registered for the tag:
Ideal.IsPrime.homogeneousCoreregistered withadd_to_stacksin StacksFrontier/RingTheory/GradedAlgebra/Proj/HomogeneousPrimes.lean, line 51 (StacksFrontier). References: EGA II (8.3.7), “graded prime q exists”.Ideal.homogeneousCoreregistered withadd_to_stacksin StacksFrontier/RingTheory/GradedAlgebra/Proj/HomogeneousPrimes.lean, line 53 (StacksFrontier): “the homogeneous ideal generated by the homogeneous elements of𝔭”.
Tag 00JU, a lemma
Tag 00JU in the Stacks Project.
Ideal.IsHomogeneous.isHomogeneous_of_mem_minimalPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Proj/HomogeneousPrimes.lean, line 65. The attribute's comment: “part (2)”.
Part (2): Given a homogeneous ideal
I, any minimal prime overIis homogeneous.
theorem Ideal.IsHomogeneous.isHomogeneous_of_mem_minimalPrimes
{I p : Ideal A} (hI : I.IsHomogeneous 𝒜) (hp : p ∈ I.minimalPrimes) :
p.IsHomogeneous 𝒜
GradedRing.isHomogeneous_of_mem_minimalPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Proj/HomogeneousPrimes.lean, line 78. The attribute's comment: “part (1)”.
Part (1): Any minimal prime of a graded ring is a homogeneous ideal. This is the special case of part (2) where
I = ⊥.
theorem GradedRing.isHomogeneous_of_mem_minimalPrimes
{p : Ideal A} (hp : p ∈ minimalPrimes A) :
p.IsHomogeneous 𝒜
Tag 07Z2, a lemma
Tag 07Z2 in the Stacks Project.
homogeneousLocalization_away_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HomogeneousLocalization/DegreeZero/Finiteness.lean, line 43. The attribute's comment: “(1)”.
Tag 07Z2, part 1. Let
Sbe a gradedR-algebra of finite type overR, and letf ∈ S_dbe homogeneous withd ≥ 1. Then the degree-0localizationS_(f)is of finite type overR(a finitely generatedR-algebra).
theorem homogeneousLocalization_away_finiteType (hf : f ∈ 𝒜 d) [Algebra.FiniteType R S] :
Algebra.FiniteType R (SLoc 𝒜 f)
moduleLocalization_away_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HomogeneousLocalization/DegreeZero/Finiteness.lean, line 716. The attribute's comment: “(2)”.
Tag 07Z2, part 2. Under the same hypotheses, if moreover
Mis a finite (finitely generated) gradedS-module — with gradingℳsatisfyingM = ⨁_n ℳ n(DirectSum.Decomposition ℳ) and the compatibility𝒜 i · ℳ j ⊆ ℳ (i + j)(SetLike.GradedSMul 𝒜 ℳ) — then the degree-0localizationM_(f)is a finiteS_(f)-module.
theorem moduleLocalization_away_finite (hf : f ∈ 𝒜 d) (hd : 1 ≤ d) [Algebra.FiniteType R S]
[Module.Finite S M] : Module.Finite (SLoc 𝒜 f) (MLoc 𝒜 ℳ f d)
Tag 052N, a lemma
Tag 052N in the Stacks Project.
exists_gradedAlgebra_degZeroPart_equiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/ReesModel.lean, line 2290.
Stacks Tag 052N (Lemma 10.57.10). Let
Rbe a ring,R'a finite typeR-algebra, andMa finiteR'-module. Then there exist a gradedR-algebraS, a gradedS-moduleN, and a degree-1elementf ∈ S₁such thatR' ≅ S_(f)asR-algebras,M ≅ N_(f)as modules (compatibly),S₀ = R,Sis generated by finitely many degree-1elements overR, andNis a finiteS-module. HereS_(f)isHomogeneousLocalization.Away 𝒜 fandN_(f)isdegZeroPart f N ℬ, the degree-0part of the localization induced from the gradingℬ.
theorem exists_gradedAlgebra_degZeroPart_equiv
(R : Type uR) [CommRing R]
(R' : Type uB) [CommRing R'] [Algebra R R'] [Algebra.FiniteType R R']
(M : Type uM) [AddCommGroup M] [Module R' M] [Module.Finite R' M] :
∃ (S : Type (max uR uB)) (_ : CommRing S) (_ : Algebra R S)
-- `𝒜` is the family of homogeneous pieces; `GradedAlgebra 𝒜` makes `S` a
-- graded `R`-algebra graded by `ℕ = ℤ_{≥0}`.
(𝒜 : ℕ → Submodule R S) (_ : GradedAlgebra 𝒜)
-- `N` is an `S`-module with `ℤ`-graded homogeneous pieces `ℬ`.
(N : Type uM) (_ : AddCommGroup N) (_ : Module S N)
(ℬ : ℤ → AddSubgroup N) (_ : SetLike.GradedSMul 𝒜 ℬ) (_ : DirectSum.Decomposition ℬ)
-- `f` is homogeneous of degree `1`.
(f : S) (_ : f ∈ 𝒜 1),
-- (2) `S₀ = R`: the structure map `R → S` is injective with range `𝒜 0`;
-- and `S` is generated over `R` by finitely many degree-`1` elements.
(Function.Injective (algebraMap R S) ∧
Set.range (algebraMap R S) = (𝒜 0 : Set S)) ∧
(∃ (gs : Finset S), (∀ g ∈ gs, g ∈ 𝒜 1) ∧
Algebra.adjoin R (gs : Set S) = ⊤) ∧
-- (3) `N` is a finite `S`-module.
Module.Finite S N ∧
-- (1) `R' ≅ S_(f)` as `R`-algebras and `M ≅ N_(f)` as modules.
--
-- `eR` is a ring isomorphism `R' ≃+* S_(f)`; it is an `R`-algebra
-- isomorphism because it is compatible with the structure maps: the image
-- of `r : R` in `R'` is sent to the image of `r` in `S_f` (which lies in the
-- degree-`0` part `S_(f)`). Since `S₀ = R` by (2), this is exactly the
-- `R`-algebra compatibility `eR ∘ (R → R') = (R → S_(f))`.
--
-- `eM` is an additive isomorphism `M ≃+ N_(f)` to the faithfully-defined
-- degree-`0` part `N_(f) = degZeroPart f N ℬ`. It is semilinear over `eR`:
-- `eM (r • m) = (eR r).val • eM m` inside `N_f`, where `S_(f)` acts via the
-- embedding `HomogeneousLocalization.val : S_(f) → S_f`. Together with the
-- `R`-compatibility of `eR`, this expresses `M ≅ N_(f)` as `R' ≅ S_(f)`-modules.
(∃ (eR : R' ≃+* HomogeneousLocalization.Away 𝒜 f)
(eM : M ≃+ (degZeroPart f N ℬ)),
(∀ r : R, (eR (algebraMap R R' r)).val
= algebraMap S (Localization (Submonoid.powers f)) (algebraMap R S r)) ∧
(∀ (r : R') (m : M),
(eM (r • m) : LocalizedModule (Submonoid.powers f) N)
= (eR r).val • (eM m : LocalizedModule (Submonoid.powers f) N)))
Sources
Section10.58 Noetherian graded rings#
Section 10.58 of the Stacks Project, Tag 00JV. 8 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07Z4, a lemma
Tag 07Z4 in the Stacks Project.
generates_algebra_iff_generates_irrelevant, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/FinitelyGenerated.lean, line 459. References: EGA II (2.1.3); EGA II (2.1.4), “partial”.
Stacks Tag 07Z4: for a family
(f i)of homogeneous elements of strictly positive degree in a graded ringAwith grading𝒜(theGradedRing 𝒜hypothesis, together with the explicitDirectSum.Decomposition 𝒜, encodes the direct-sum decompositionA = ⨁_d 𝒜 d), the family generatesAas an algebra over the degree-zero subring𝒜 0if and only if it generates the irrelevant idealS₊as an ideal ofA.
theorem generates_algebra_iff_generates_irrelevant
{I : Type*} (f : I → A) (d : I → ℕ)
(hd : ∀ i, 0 < d i) (hf : ∀ i, f i ∈ 𝒜 (d i)) :
Algebra.adjoin ↥(𝒜 0) (Set.range f) = ⊤ ↔
Ideal.span (Set.range f) = (HomogeneousIdeal.irrelevant 𝒜).toIdeal
Tag 00JW, a lemma
Tag 00JW in the Stacks Project.
GradedRing.isNoetherianRing_iff_isNoetherianRing_gradeZero_and_irrelevant_fg, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/Noetherian.lean, line 284. References: EGA II (2.1.5), “necessity”.
A graded ring
A = ⨁_d 𝒜 dis Noetherian if and only if its degree-zero subring𝒜 0is a Noetherian ring and its irrelevant ideal⨁_{d > 0} 𝒜 dis finitely generated as an ideal ofA.
public theorem isNoetherianRing_iff_isNoetherianRing_gradeZero_and_irrelevant_fg
(𝒜 : ℕ → σ) [GradedRing 𝒜] :
IsNoetherianRing A ↔
IsNoetherianRing (𝒜 0) ∧ (HomogeneousIdeal.irrelevant 𝒜).toIdeal.FG
Tag 00JX, a definition
Tag 00JX in the Stacks Project.
IsNumericalPolynomial, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NumericalPolynomial.lean, line 68.
A function
f : ℤ → A(withAan additive abelian group) is a numerical polynomial if there existr : ℕand elementsa : Fin (r + 1) → Asuch thatf n = ∑_{i = 0}^{r} (n choose i) • a iholds for all sufficiently large integersn.
def IsNumericalPolynomial (f : ℤ → A) : Prop
Tag 00JY, a lemma
Tag 00JY in the Stacks Project.
numerical_polynomial_functorial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NumericalPolynomial.lean, line 113.
Numerical polynomials are functorial: if
φ : A →+ A'is a homomorphism of abelian groups andf : ℤ → Ais a numerical polynomial, thenn ↦ φ (f n)is a numerical polynomial valued inA'.
theorem numerical_polynomial_functorial
{A A' : Type*} [AddCommGroup A] [AddCommGroup A']
(φ : A →+ A') (f : ℤ → A) (hf : IsNumericalPolynomial f) :
IsNumericalPolynomial (fun n => φ (f n))
Tag 00JZ, a lemma
Tag 00JZ in the Stacks Project.
main_00JZ, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NumericalPolynomial.lean, line 221.
Let
Abe an abelian group andf : ℤ → A. If the backward differencen ↦ f n - f (n - 1)is a numerical polynomial, then so isf.
theorem main_00JZ {A : Type*} [AddCommGroup A] (f : ℤ → A)
(hdiff : IsNumericalPolynomial (fun n => f n - f (n - 1))) :
IsNumericalPolynomial f
Tag 00K0, a lemma
Tag 00K0 in the Stacks Project.
graded_module_pieces_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GradedAlgebra/FinitelyGenerated.lean, line 266. References: EGA II (2.1.6), “(i)”.
Stacks 00K0. Let
S = ⨁_{n ≥ 0} 𝒜 nbe a graded ring andM = ⨁_{n ∈ ℤ} ℳ na gradedS-module, withS_d · M_e ⊆ M_{d+e}. IfMis finitely generated as anS-module andSis finitely generated as an𝒜 0-algebra, then every graded pieceℳ nis a finite𝒜 0-module.
theorem graded_module_pieces_finite (ℳ : ℤ → Submodule (𝒜 0) M) [DirectSum.Decomposition ℳ]
(hsmul : ∀ (d : ℕ) (e : ℤ) (s : S), s ∈ 𝒜 d → ∀ m : M, m ∈ ℳ e → s • m ∈ ℳ ((d : ℤ) + e))
(hM : Module.Finite S M)
(hS : Algebra.FiniteType (𝒜 0) S) : ∀ n : ℤ, Module.Finite (𝒜 0) (ℳ n)
Tag 00K1, a proposition
Tag 00K1 in the Stacks Project.
hilbertFun_isNumericalPolynomial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertFunction/Polynomiality.lean, line 741.
Main statement (Stacks Tag 00K1, Proposition 10.58.7). Let
Sbe a Noetherian graded ring with degree-zero ringS_0 = ↥(𝒮 0), graded nonnegatively (𝒮 d = 0ford < 0), and letMbe a finite gradedS-module. Assume the irrelevant idealS_+is generated by elements of degree1(GeneratedInDegreeOne 𝒮). Then the Hilbert functionn ↦ [M_n] ∈ K'_0(S_0)is a numerical polynomial.
theorem hilbertFun_isNumericalPolynomial (hneg : ∀ d : ℤ, d < 0 → 𝒮 d = ⊥)
(hgen : GeneratedInDegreeOne 𝒮) : IsEventualNumericalPolynomial (hilbertFun 𝒮 ℳ hneg)
Tag 00K3, a lemma
Tag 00K3 in the Stacks Project.
Stacks.HilbertFunction.PolynomialQuotient.hilbertFunction_degree_lt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertFunction/DegreeBound.lean, line 605.
Main Theorem (Stacks Lemma 10.58.10, Tag 00K3). Let
kbe a field,d ≥ 1, andS = k[X_1, …, X_d]with the standard grading. LetI ⊆ Sbe a nonzero graded ideal and setM = S / I. Then the Hilbert functionH_M(n) = dim_k(M_n)is, for largen, given by a rational polynomialPwhose degree is strictly less thand - 1.Concretely: there exist
P ∈ ℚ[T]withdeg P < d - 1and an integerNsuch thatdim_k(M_n) = P(n)for alln ≥ N. The degree bounddeg P < d - 1is expressed usingPolynomial.degree : ℚ[X] → WithBot ℕ, which sends the zero polynomial to⊥; thusdeg P < d - 1automatically allowsP = 0(the case-∞ < d - 1), and whend = 1it forcesP = 0.
theorem hilbertFunction_degree_lt (hd : 1 ≤ d) (I : Ideal (MvPolynomial (Fin d) k))
(hI_hom : Ideal.IsHomogeneous (MvPolynomial.homogeneousSubmodule (Fin d) k) I)
(hI_ne : I ≠ ⊥) :
∃ (P : Polynomial ℚ) (N : ℕ),
P.degree < ((d - 1 : ℕ) : WithBot ℕ) ∧
∀ n : ℕ, N ≤ n → (hilbertFunction I n : ℚ) = P.eval (n : ℚ)
Sources
Section10.59 Noetherian local rings#
Section 10.59 of the Stacks Project, Tag 00K4. 10 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07DU, a definition
Tag 07DU in the Stacks Project.
IsIdealOfDefinition, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Defs.lean, line 161. References: EGA 0 (16.2.1); EGA 0 (7.1.2), “special case”; EGA III (4.3.13); EGA IV (21.13.12.1); EGA IV (6.1.3); SGA 1 I (2.1).
An ideal
Iof a Noetherian local ring(R, m)is an ideal of definition if its radical is the maximal ideal, i.e.√I = m.
def IsIdealOfDefinition {R : Type*} [CommRing R] [IsLocalRing R] [IsNoetherianRing R]
(I : Ideal R) : Prop
Tag 00K5, a lemma
Tag 00K5 in the Stacks Project.
chi_bounds_of_quotient_finiteLength, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Function.lean, line 182.
Let
(R, m, k)be a Noetherian local ring,I ⊆ Ran ideal of definition, andM' ⊆ MfiniteR-modules withM / M'of finite length. Then there are constantsc₁, c₂ ∈ ℕsuch that for alln ≥ c₂,c₁ + χ_{I,M'}(n - c₂) ≤ χ_{I,M}(n) ≤ c₁ + χ_{I,M'}(n).
theorem chi_bounds_of_quotient_finiteLength
{R : Type*} [CommRing R] [IsLocalRing R] [IsNoetherianRing R]
(I : Ideal R) (hI : IsIdealOfDefinition I)
{M : Type*} [AddCommGroup M] [Module R M] [Module.Finite R M]
(M' : Submodule R M) (hlen : Module.length R (M ⧸ M') < ⊤) :
∃ c₁ c₂ : ℕ, ∀ n : ℕ, c₂ ≤ n →
(c₁ : ℕ∞) + chi I M' (n - c₂) ≤ chi I M n ∧
chi I M n ≤ (c₁ : ℕ∞) + chi I M' n
Tag 00K6, a lemma
Tag 00K6 in the Stacks Project.
additivity_of_characteristic_and_hilbert_functions, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Function.lean, line 404.
Given a short exact sequence
0 → M' → M → M'' → 0of finiteR-modules over a Noetherian local ring(R, m)and an idealIwith√I = m, there are a submoduleN ⊆ M'of finite colengthl = length_R (M'/N)and an integerc ≥ 0such that for alln ≥ cχ_{I,M}(n) = χ_{I,M''}(n) + χ_{I,N}(n - c) + landφ_{I,M}(n) = φ_{I,M''}(n) + φ_{I,N}(n - c).
theorem additivity_of_characteristic_and_hilbert_functions
(R : Type*) [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
(I : Ideal R) (hI : I.radical = IsLocalRing.maximalIdeal R)
(M' M M'' : Type*)
[AddCommGroup M'] [Module R M'] [Module.Finite R M']
[AddCommGroup M] [Module R M] [Module.Finite R M]
[AddCommGroup M''] [Module R M''] [Module.Finite R M'']
(f : M' →ₗ[R] M) (g : M →ₗ[R] M'')
(hf : Function.Injective f) (hg : Function.Surjective g)
(hfg : Function.Exact f g) :
∃ (N : Submodule R M') (c : ℕ) (l : ℕ),
Module.length R (M' ⧸ N) = (l : ℕ∞) ∧
(∀ n ≥ c, charFn R I M n = charFn R I M'' n + charFn R I N (n - c) + (l : ℕ∞)) ∧
(∀ n ≥ c, hilbertFn R I M n = hilbertFn R I M'' n + hilbertFn R I N (n - c))
Tag 00K7, a lemma
Tag 00K7 in the Stacks Project.
chi_change_ideal_of_definition, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Defs.lean, line 124.
Let
(R, m)be a Noetherian local ring, letI, I'be two ideals of definition ofR, and letMbe a finiteR-module. Then there exists a positive integerasuch thatχ_{I,M}(n) ≤ χ_{I',M}(a·n)for alln ≥ 1.
theorem chi_change_ideal_of_definition
{R : Type*} [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
(M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M]
(I I' : Ideal R) (hI : IsIdealOfDefinition' I) (hI' : IsIdealOfDefinition' I') :
∃ a : ℕ, 0 < a ∧ ∀ n : ℕ, 1 ≤ n → hilbertSamuel_chi I M n ≤ hilbertSamuel_chi I' M (a * n)
Tag 00K8, a proposition
Tag 00K8 in the Stacks Project.
Ideal.exists_eventually_length_quotient_smul_pow_eq_sum_choose_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertFunction/Numerical.lean, line 1207. References: EGA 0 (16.2.1), “local case”.
Stacks 00K8. Let
Rbe a Noetherian local ring, letI ⊆ Rbe an ideal of definition (I.radicalis the maximal ideal ofR) and letMbe a finiteR-module. Then the Hilbert functionn ↦ length_R (I ^ n • M / I ^ (n + 1) • M)and the functionn ↦ length_R (M / I ^ (n + 1) • M)are numerical polynomials: each takes finite values which, for alln ≫ 0, are given by aℤ-linear combination of the binomial coefficientsn choose 0, …, n choose r.
public theorem Ideal.exists_eventually_length_quotient_smul_pow_eq_sum_choose_mul
{R : Type*} [CommRing R] [IsNoetherianRing R] [IsLocalRing R] (I : Ideal R)
(hI : I.radical = IsLocalRing.maximalIdeal R)
(M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M] :
∃ (r : ℕ) (a b : ℕ → ℤ), ∀ᶠ n : ℕ in Filter.atTop,
(∃ p : ℕ, Module.length R (↥(I ^ n • (⊤ : Submodule R M)) ⧸
(I ^ (n + 1) • (⊤ : Submodule R M)).submoduleOf (I ^ n • ⊤)) = p ∧
(p : ℤ) = ∑ i ∈ Finset.range (r + 1), (n.choose i : ℤ) * a i) ∧
(∃ q : ℕ, Module.length R (M ⧸ (I ^ (n + 1) • (⊤ : Submodule R M))) = q ∧
(q : ℤ) = ∑ i ∈ Finset.range (r + 1), (n.choose i : ℤ) * b i)
Tag 09CA, a definition
Tag 09CA in the Stacks Project.
Ideal.hilbertPolynomial, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertFunction/Defs.lean, line 132. The attribute's comment: “Stated relative to an ideal I ⊆ R, as the rest of the section is (Tags 00K8, 00K9, 00KA); the Hilbert polynomial of Definition 09CA is the case I = IsLocalRing.maximalIdeal R, for R Noetherian local and M finite, where Proposition 00K8 makes the characterising property satisfiable. The property is what the definition consumes, and it determines the polynomial uniquely; the value is 0 where nothing has it.”.
Stacks 09CA. The Hilbert polynomial of an
R-moduleMrelative to an idealI ⊆ R: the polynomialP ∈ ℚ[t]such thatP(n) = φ_{I,M}(n) = length_R (I ^ n M / I ^ (n + 1) M)for alln ≫ 0. At most one polynomial has this property, so this is a definition of that element; the value is0in the case that none has it. ForRNoetherian local,Mfinite andIan ideal of definition — in particular forI = m, the Hilbert polynomial ofMoverR— such aPexists by Proposition 00K8.
public noncomputable def Ideal.hilbertPolynomial {R : Type*} [CommRing R] (I : Ideal R)
(M : Type*) [AddCommGroup M] [Module R M] : ℚ[X]
Tag 00K9, a lemma
Tag 00K9 in the Stacks Project.
Ideal.exists_degree_eq_of_eventually_eval_eq_length_quotient_smul_pow, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/DegreeInvariance.lean, line 289. The attribute's comment: “The degree of a numerical polynomial is spelled as the degree of any rational polynomial computing it at all large n, and independence of I as the two degrees being quantified outside the ideal of definition. Part (1) of the tag is the first conjunct, part (2) the second.”. References: EGA 0 (16.2.3), “special case”.
Stacks 00K9. Let
Rbe a Noetherian local ring and letMbe a finiteR-module. Then there ared e : WithBot ℕ, depending onRandMonly, such that for every ideal of definitionI ⊆ R(that is,I.radical = m): every polynomialP ∈ ℚ[t]agreeing with the Hilbert functionφ_{I,M}(n) = length_R (I ^ n M / I ^ (n + 1) M)for alln ≫ 0has degreed, and every polynomialP ∈ ℚ[t]agreeing withχ_{I,M}(n) = length_R (M / I ^ (n + 1) M)for alln ≫ 0has degreee. That is, the degrees of the numerical polynomialsφ_{I,M}andχ_{I,M}are independent of the ideal of definitionI.
public theorem Ideal.exists_degree_eq_of_eventually_eval_eq_length_quotient_smul_pow
{R : Type*} [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
(M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M] :
∃ d e : WithBot ℕ, ∀ I : Ideal R, I.radical = maximalIdeal R → ∀ P : ℚ[X],
((∀ᶠ n : ℕ in atTop, ∃ p : ℕ,
Module.length R (↥(I ^ n • (⊤ : Submodule R M)) ⧸
(I ^ (n + 1) • (⊤ : Submodule R M)).submoduleOf (I ^ n • ⊤)) = p ∧
P.eval (n : ℚ) = (p : ℚ)) → P.degree = d) ∧
((∀ᶠ n : ℕ in atTop, ∃ q : ℕ,
Module.length R (M ⧸ (I ^ (n + 1) • (⊤ : Submodule R M))) = q ∧
P.eval (n : ℚ) = (q : ℚ)) → P.degree = e)
Tag 00KA, a definition
Tag 00KA in the Stacks Project.
Ideal.hilbertSamuelDegree, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Defs.lean, line 79. The attribute's comment: “Definition 00KA is the case I = maximalIdeal R, spelled Module.hilbertSamuelDegree. The definition is stated for an arbitrary ideal because that is the generality of the surrounding section, and because Lemma 00K9(2) is the assertion that this value is the same for all ideals of definition.”. References: EGA 0 (16.2.3).
The degree, an element of
{-∞, 0, 1, 2, …} = WithBot ℕ, of the numerical polynomialχ_{I,M}(n) = length_R (M / I ^ (n + 1) M): the degree of a polynomialP ∈ ℚ[t]withP(n) = χ_{I,M}(n)for alln ≫ 0, and-∞if there is no such polynomial.
public noncomputable def Ideal.hilbertSamuelDegree {R : Type*} [CommRing R] (I : Ideal R)
(M : Type*) [AddCommGroup M] [Module R M] : WithBot ℕ
Module.hilbertSamuelDegree, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Defs.lean, line 93. The attribute's comment: “The d(M) of the definition. Case (1) is not a separate branch: for M = 0 the polynomial computing χ_M is 0, whose degree is -∞ = ⊥, and conversely a computing polynomial of degree -∞ forces M = m ^ n M for n ≫ 0, hence M = 0 by Nakayama. See the module docstring.”. References: EGA 0 (16.2.3), “special case”.
The invariant
d(M) ∈ {-∞, 0, 1, 2, …} = WithBot ℕof a moduleMover a local ring(R, m): the degree of the numerical polynomialχ_M(n) = length_R (M / m ^ (n + 1) M), that isIdeal.hilbertSamuelDegreeat the maximal ideal.
public noncomputable abbrev Module.hilbertSamuelDegree (R : Type*) [CommRing R] [IsLocalRing R]
(M : Type*) [AddCommGroup M] [Module R M] : WithBot ℕ
Tag 00KB, a lemma
Tag 00KB in the Stacks Project.
HilbertSamuel.degree_sub_lt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Function.lean, line 787. References: EGA 0 (16.2.2.2), “special case”.
Let
(R, m)be a Noetherian local ring,I ⊆ Ran ideal of definition, andMa finiteR-module which does not have finite length. LetM' ⊆ Mbe a submodule with finite colength, and letχ_{I,M},χ_{I,M'} ∈ Q[t]be the Hilbert–Samuel polynomials ofMandM'. Then the differenceχ_{I,M} - χ_{I,M'}has degree strictly less than the degree of each of the two Hilbert–Samuel polynomials.
theorem degree_sub_lt
[IsNoetherianRing R] [IsLocalRing R]
(I : Ideal R) (hI : IsIdealOfDefinition I)
(M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M]
(hM : ¬ HasFiniteLength R M)
(M' : Submodule R M) (hM' : HasFiniteColength M')
(χM χM' : ℚ[X])
(hχM : IsHilbertSamuelPoly I M χM)
(hχM' : IsHilbertSamuelPoly I (↥M') χM') :
(χM - χM').degree < χM.degree ∧ (χM - χM').degree < χM'.degree
Tag 00KC, a lemma
Tag 00KC in the Stacks Project.
Ideal.max_degree_eq_degree_of_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/ShortExact.lean, line 549. The attribute's comment: “The first conjunct is parts (1) and (2) of the tag, for polynomials computing the three Hilbert–Samuel functions as in Tags 00K8 and 00K9, so χ_{I,M} - χ_{I,M''} - χ_{I,M'} is P - P'' - P'; that this is again a numerical polynomial is inherited from the hypotheses on the three polynomials, and the degree bound is the content. The second conjunct is part (2) for the invariant of Definition 00KA, and part (3) of the tag is its case I = maximalIdeal R. See the module docstring.”. References: EGA 0 (16.2.2.2), “(1) deg bound, (2)”.
Stacks 00KC. Let
Rbe a Noetherian local ring, letI ⊆ Rbe an ideal of definition (I.radicalis the maximal ideal ofR) and let0 → M' → M → M'' → 0be a short exact sequence of finiteR-modules, given byf : M' →ₗ[R] Minjective,g : M →ₗ[R] M''surjective andFunction.Exact f g. Then
- if
M'does not have finite length, thenχ_{I,M} - χ_{I,M''} - χ_{I,M'}is a numerical polynomial of degree<the degree ofχ_{I,M'},max {deg χ_{I,M'}, deg χ_{I,M''}} = deg χ_{I,M}, andmax {d(M'), d(M'')} = d(M), for the invariantd(-)of Definition 00KA — the caseI = mof the last conjunct, sinced(N) = (maximalIdeal R).hilbertSamuelDegree N.Here
P',P,P''are the numerical polynomialsχ_{I,M'},χ_{I,M},χ_{I,M''}, that is, the polynomials withP'(n) = length_R (M' / I ^ (n + 1) M')for alln ≫ 0and likewise forMandM'', andIdeal.hilbertSamuelDegree I Nis the degree ofχ_{I,N}.
public theorem Ideal.max_degree_eq_degree_of_exact
{R : Type*} [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
(I : Ideal R) (hI : I.radical = maximalIdeal R)
{M' M M'' : Type*} [AddCommGroup M'] [Module R M'] [Module.Finite R M']
[AddCommGroup M] [Module R M] [Module.Finite R M]
[AddCommGroup M''] [Module R M''] [Module.Finite R M'']
{f : M' →ₗ[R] M} {g : M →ₗ[R] M''} (hfg : Function.Exact f g)
(hf : Function.Injective f) (hg : Function.Surjective g) :
(∀ P' P P'' : ℚ[X],
(∀ᶠ n : ℕ in atTop, ∃ p : ℕ,
Module.length R (M' ⧸ (I ^ (n + 1) • (⊤ : Submodule R M'))) = p ∧
P'.eval (n : ℚ) = (p : ℚ)) →
(∀ᶠ n : ℕ in atTop, ∃ p : ℕ,
Module.length R (M ⧸ (I ^ (n + 1) • (⊤ : Submodule R M))) = p ∧
P.eval (n : ℚ) = (p : ℚ)) →
(∀ᶠ n : ℕ in atTop, ∃ p : ℕ,
Module.length R (M'' ⧸ (I ^ (n + 1) • (⊤ : Submodule R M''))) = p ∧
P''.eval (n : ℚ) = (p : ℚ)) →
(¬ IsFiniteLength R M' → (P - P'' - P').degree < P'.degree) ∧
max P'.degree P''.degree = P.degree) ∧
max (I.hilbertSamuelDegree M') (I.hilbertSamuelDegree M'') =
I.hilbertSamuelDegree M
Sources
Section10.60 Dimension#
Section 10.60 of the Stacks Project, Tag 00KD. 13 tags here are carried by 11 declarations of the repository (all in StacksFrontier) and 6 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0GIE, a definition
Tag 0GIE in the Stacks Project.
Declarations registered for the tag:
LTSeries.mkregistered withadd_to_stacksin StacksFrontier/RingTheory/KrullDimension/Defs.lean, line 51 (StacksFrontier): “chains of prime ideals”.RelSeries.lengthregistered withadd_to_stacksin StacksFrontier/RingTheory/KrullDimension/Defs.lean, line 52 (StacksFrontier): “the length of a chain of prime ideals”.
Tag 00KE, a definition
Tag 00KE in the Stacks Project.
Declarations registered for the tag:
ringKrullDimregistered withadd_to_stacksin StacksFrontier/RingTheory/KrullDimension/Defs.lean, line 15 (StacksFrontier): “the Krull dimension of a ring”. References: EGA 0 (16.3.1); EGA II (7.1.5); EGA II (8.10.3); EGA IV (10.5.1); EGA IV (17.15.8); EGA 0 (16.1.1), “definition of dim A”; SGA 2 XI (3.10).
Tag 00KF, a definition
Tag 00KF in the Stacks Project.
Declarations registered for the tag:
IsLocalization.AtPrime.ringKrullDim_eq_heightregistered withadd_to_stacksin StacksFrontier/RingTheory/KrullDimension/Defs.lean, line 24 (StacksFrontier). References: EGA 0 (16.1.3), “dim(A_p) = ht(p)”; EGA 0 (16.3.1), “more general”.
Tag 00KG, a lemma
Tag 00KG in the Stacks Project.
ringKrullDim_eq_iSup_height, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/Defs.lean, line 28.
The Krull dimension of
Requals the supremum of the heights of its prime ideals.
theorem ringKrullDim_eq_iSup_height (R : Type*) [CommRing R] :
ringKrullDim R = ⨆ (I : PrimeSpectrum R), (I.asIdeal.height : WithBot ℕ∞)
ringKrullDim_eq_iSup_height_maximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/Defs.lean, line 35.
The Krull dimension of
Requals the supremum of the heights of its maximal ideals.
theorem ringKrullDim_eq_iSup_height_maximal (R : Type*) [CommRing R] :
ringKrullDim R =
⨆ (I : {I : PrimeSpectrum R // I.asIdeal.IsMaximal}),
(I.val.asIdeal.height : WithBot ℕ∞)
Tag 00KI, a lemma
Tag 00KI in the Stacks Project.
IsLocalRing.ringKrullDim_eq_zero_iff_hilbertSamuelDegree_eq_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/DimensionOneNoetherianLocal.lean, line 123. The attribute's comment: “The source reads this off from d(R) = 0 if and only if R has finite length; here it is read off from d(M) = dim Supp(M) (Lemma 00L8) for M = R.”.
A Noetherian local ring has dimension zero exactly when its Hilbert–Samuel degree
d(R)is zero.
theorem ringKrullDim_eq_zero_iff_hilbertSamuelDegree_eq_zero :
ringKrullDim R = 0 ↔ Module.hilbertSamuelDegree R R = 0
Declarations registered for the tag:
isArtinianRing_iff_krullDimLE_zeroregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Stacks00KI.lean, line 10 (StacksFrontier): “dimension zero implies d=0”. References: EGA 0 (16.1.1), “partial”; EGA 0 (16.2.5), “special case”.isArtinianRing_iff_isFiniteLengthregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Stacks00KI.lean, line 13 (StacksFrontier): “d=0 characterization”. References: SGA 3 VIIB (0.1), “partial”; SGA 3 VIIB (0.4.2), “more general”.
Tag 00KJ, a proposition
Tag 00KJ in the Stacks Project.
isArtinianRing_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/TFAE.lean, line 272. The attribute's comment: “Items (1)-(10); see the module docstring for the form of (2), (5), (6) and (7).”. References: EGA 0 (14.1.9), “affine case: X = Spec R”; EGA 0 (16.1.10), “case M = A”; EGA I (6.2.2), “affine case”; EGA IV (10.4.3), “partial”; SGA 3 VIIB (0.1.1), “partial”; SGA 3 VIIB (3.2), “U = C”.
Characterizations of Artinian rings. For a commutative ring
Rthe following are equivalent:Ris Artinian;Ris Noetherian of Krull dimension zero;Rhas finite length as a module over itself;Ris a finite product of Artinian local rings;Ris Noetherian with discrete prime spectrum;Ris a finite product of Noetherian local rings of dimension zero;Ris a finite product of Noetherian local rings of finite length;Ris a finite product of Noetherian local rings with nilpotent maximal ideal;Ris Noetherian with finitely many maximal ideals and nilpotent Jacobson radical; andRis Noetherian with no strict inclusions among its primes.
public theorem isArtinianRing_tfae (R : Type u) [CommRing R] :
List.TFAE
[ IsArtinianRing R,
IsNoetherianRing R ∧ Ring.KrullDimLE 0 R,
IsFiniteLength R R,
∃ (ι : Type u) (_ : Finite ι) (S : ι → Type u) (_ : ∀ i, CommRing (S i))
(_ : ∀ i, IsLocalRing (S i)), (∀ i, IsArtinianRing (S i)) ∧ Nonempty (R ≃+* ∀ i, S i),
IsNoetherianRing R ∧ DiscreteTopology (PrimeSpectrum R),
∃ (ι : Type u) (_ : Finite ι) (S : ι → Type u) (_ : ∀ i, CommRing (S i))
(_ : ∀ i, IsLocalRing (S i)), (∀ i, IsNoetherianRing (S i) ∧ Ring.KrullDimLE 0 (S i)) ∧
Nonempty (R ≃+* ∀ i, S i),
∃ (ι : Type u) (_ : Finite ι) (S : ι → Type u) (_ : ∀ i, CommRing (S i))
(_ : ∀ i, IsLocalRing (S i)), (∀ i, IsFiniteLength (S i) (S i)) ∧
Nonempty (R ≃+* ∀ i, S i),
∃ (ι : Type u) (_ : Finite ι) (S : ι → Type u) (_ : ∀ i, CommRing (S i))
(_ : ∀ i, IsLocalRing (S i)),
(∀ i, IsNoetherianRing (S i) ∧ IsNilpotent (IsLocalRing.maximalIdeal (S i))) ∧
Nonempty (R ≃+* ∀ i, S i),
IsNoetherianRing R ∧ Finite (MaximalSpectrum R) ∧ IsNilpotent (Ring.jacobson R),
IsNoetherianRing R ∧ ∀ p q : Ideal R, p.IsPrime → q.IsPrime → p ≤ q → p = q ]
Tag 00KK, a lemma
Tag 00KK in the Stacks Project.
IsLocalRing.ringKrullDim_eq_one_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/DimensionOneNoetherianLocal.lean, line 134. The attribute's comment: “Items (1)-(5), in the source's order. The ideal generated by zero elements is ⊥; an ideal of definition is an ideal with radical m.”. References: EGA IV (5.1.6), “special case”.
Noetherian local rings of dimension one. For a Noetherian local ring
(R, m)the following are equivalent:dim(R) = 1;d(R) = 1; there is a non-nilpotentx ∈ mwithV(x) = {m}; there is a non-nilpotentx ∈ mwithm = √(x); some ideal of definition is generated by one element, and the ideal(0)generated by zero elements is not an ideal of definition.
theorem ringKrullDim_eq_one_tfae :
List.TFAE
[ringKrullDim R = 1,
Module.hilbertSamuelDegree R R = 1,
∃ x ∈ maximalIdeal R, ¬ IsNilpotent x ∧ zeroLocus {x} = {closedPoint R},
∃ x ∈ maximalIdeal R, ¬ IsNilpotent x ∧ (Ideal.span {x}).radical = maximalIdeal R,
(∃ x : R, (Ideal.span {x}).radical = maximalIdeal R) ∧
(⊥ : Ideal R).radical ≠ maximalIdeal R]
Tag 00KQ, a proposition
Tag 00KQ in the Stacks Project.
IsLocalRing.ringKrullDim_eq_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/DimensionTheorem.lean, line 1000. The attribute's comment: “Items (1)-(3); see the module docstring for the form of (2) and (3).”. References: EGA 0 (16.2.5), “local case”; EGA 0 (16.2.5), “local case”; EGA IV (5.1.6).
Dimension of a Noetherian local ring. For a Noetherian local ring
(R, m)and a natural numberdthe following are equivalent:dim(R) = d; the Hilbert–Samuel functionn ↦ length_R (R / m ^ (n + 1))is eventually aℤ-combination∑_{i ≤ d} (n choose i) * a iof binomial coefficients witha d ≠ 0, i.e.d(R) = d; anddis the least number of generators of an ideal of definition ofR, i.e. some ideal of definition is generated bydelements and none is generated by fewer.
public theorem IsLocalRing.ringKrullDim_eq_tfae {R : Type*} [CommRing R] [IsNoetherianRing R]
[IsLocalRing R] (d : ℕ) :
List.TFAE
[ringKrullDim R = d,
∃ a : ℕ → ℤ,
a d ≠ 0 ∧
∀ᶠ n : ℕ in Filter.atTop,
∃ p : ℕ,
Module.length R (R ⧸ maximalIdeal R ^ (n + 1)) = p ∧
(p : ℤ) = ∑ i ∈ Finset.range (d + 1), (n.choose i : ℤ) * a i,
IsLeast {n : ℕ | ∃ I : Ideal R, I.radical = maximalIdeal R ∧ I.spanFinrank = n} d]
Tag 00KU, a definition
Tag 00KU in the Stacks Project.
IsLocalRing.IsSystemOfParameters, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/SystemOfParameters/Defs.lean, line 116. The attribute's comment: “Item (1). Item (2)'s predicate on the ring is Mathlib's IsRegularLocalRing, tagged 00KU there; a regular system of parameters is Ideal.ofList rs = maximalIdeal R together with ringKrullDim R = rs.length, a composite for which no name is introduced. See the module docstring.”. References: EGA 0 (16.3.6), “case M = R, local”.
System of parameters of a local ring. A sequence
rsof elements of a local ring(R, m)is a system of parameters ofRif it generates an ideal of definition ofR, that is an ideal with radicalm, and hasdim Rentries. Over a Noetherian local ring this is the source's notion:dim Relements ofmgenerating an ideal of definition,dim Rbeing the least number of generators an ideal of definition can have. A regular system of parameters is one generatingmitself; the rings admitting one are the regular local rings,IsRegularLocalRing.
public def IsLocalRing.IsSystemOfParameters {R : Type*} [CommRing R] [IsLocalRing R]
(rs : List R) : Prop
Tag 00KV, a lemma
Tag 00KV in the Stacks Project.
Ideal.not_lt_of_lt_of_mem_minimalPrimes_sup_span_singleton, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/KrullsHeightTheorem.lean, line 321. The attribute's comment: “Item (2); item (1) is Mathlib's Krull principal ideal theorem.”.
Krull's principal ideal theorem, chain form. Let
Rbe a Noetherian ring,x : R, and letpbe a prime ideal. If a primeqis minimal overp + (x), then no primerlies strictly betweenpandq.
public theorem Ideal.not_lt_of_lt_of_mem_minimalPrimes_sup_span_singleton {R : Type*}
[CommRing R] [IsNoetherianRing R] {x : R} {p q r : Ideal R} [p.IsPrime] [r.IsPrime]
(hq : q ∈ (p ⊔ Ideal.span {x}).minimalPrimes) (hpr : p < r) : ¬r < q
Tag 0BBZ, a lemma
Tag 0BBZ in the Stacks Project.
Ideal.map_height_le_spanRank_toENat_of_mem_minimalPrimes_sup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/KrullsHeightTheorem.lean, line 180. The attribute's comment: “Item (2), for an arbitrary ideal in place of the prime; item (1) is Mathlib's Ideal.height_le_spanRank_toENat_of_mem_minimalPrimes.”. References: EGA 0 (16.3.1), “b ⇒ a”; EGA 0 (16.3.2), “more general”.
Stacks 0BBZ (2), Krull's height theorem in relative form. Let
Rbe a Noetherian ring and letI,Jbe ideals ofR. If a primeqis minimal overI + J, then the height ofq / IinR / Iis at most the minimal number of generators ofJ; equivalently, every chain of primes betweenIandqhas length at most that number.
public theorem Ideal.map_height_le_spanRank_toENat_of_mem_minimalPrimes_sup {R : Type*}
[CommRing R] [IsNoetherianRing R] {I J q : Ideal R} (hq : q ∈ (I ⊔ J).minimalPrimes) :
(q.map (Ideal.Quotient.mk I)).height ≤ J.spanRank.toENat
Tag 00KW, a lemma
Tag 00KW in the Stacks Project.
Ideal.height_le_height_map_add_encard_of_span_eq_ker, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Variety/Defs/Dimension/AffineIntersection.lean, line 86. The attribute's comment: “through a surjection”.
Krull's height theorem through a surjection. If
δis a surjective ring map whose kernel is generated by a sets, andMis a prime containings, then the height ofMis at most the height of its image plus the cardinality ofs. This is the iterated form of Stacks Tag 00KW that the reduction to the diagonal consumes.
theorem Ideal.height_le_height_map_add_encard_of_span_eq_ker {T C : Type*} [CommRing T]
[CommRing C] [IsNoetherianRing T] (δ : T →+* C) (hδ : Function.Surjective δ) (s : Set T)
(hspan : Ideal.span s = RingHom.ker δ) (M : Ideal T) [M.IsPrime] (hsM : s ⊆ M) :
M.height ≤ (M.map δ).height + s.encard
Tag 02IE, a lemma
Tag 02IE in the Stacks Project.
ringKrullDim_add_length_eq_ringKrullDim_of_radical_ofList_append_eq_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/SystemOfParameters.lean, line 247. References: EGA 0 (16.2.3.1), “(ii), special case”.
Dimension of a quotient by part of a system of parameters. Let
(R, m)be a Noetherian local ring and letx₁, …, x_d ∈ mgenerate an ideal of definition ofR, withd ≤ dim R— equivalently,x₁, …, x_dis a system of parameters. Then killing any partlof the sequence drops the dimension by exactly the number of elements killed:dim R/(l) + |l| = dim R. Takinglto be the prefixx₁, …, x_igivesdim R/(x₁, …, x_i) = d - i.
public theorem ringKrullDim_add_length_eq_ringKrullDim_of_radical_ofList_append_eq_maximalIdeal
{R : Type*} [CommRing R] [IsNoetherianRing R] [IsLocalRing R] (l l' : List R)
(hdef : (Ideal.ofList (l ++ l')).radical = IsLocalRing.maximalIdeal R)
(hdim : ((l.length + l'.length : ℕ) : WithBot ℕ∞) ≤ ringKrullDim R) :
ringKrullDim (R ⧸ Ideal.ofList l) + l.length =
ringKrullDim R
Sources
Section10.61 Applications of dimension theory#
Section 10.61 of the Stacks Project, Tag 02IF. 4 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 02IG, a lemma
Tag 02IG in the Stacks Project.
PrimeSpectrum.infinite_of_two_le_ringKrullDim, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Spectrum/Prime/DimensionTwoOpens.lean, line 129. References: EGA IV (10.5.1), “e) ⇒ f) for local B”.
A nonempty open subset of the spectrum of a Noetherian local domain of dimension at least two is infinite.
public theorem infinite_of_two_le_ringKrullDim (R : Type*) [CommRing R] [IsNoetherianRing R]
[IsLocalRing R] [IsDomain R] (hR : 2 ≤ ringKrullDim R) (U : Set (PrimeSpectrum R))
(hU : IsOpen U) (hU' : U.Nonempty) : U.Infinite
Tag 0ALV, a lemma
Tag 0ALV in the Stacks Project.
Ring.krullDimLE_one_of_finite_primeSpectrum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/FinitePrimeSpectrum.lean, line 181.
A Noetherian ring with finitely many primes has dimension at most
1: every prime ideal is either minimal or maximal.
public theorem krullDimLE_one_of_finite_primeSpectrum (R : Type*) [CommRing R]
[IsNoetherianRing R] [Finite (PrimeSpectrum R)] :
KrullDimLE 1 R
Tag 0ALW, a lemma
Tag 0ALW in the Stacks Project.
Algebra.FiniteType.krullDimLE_zero_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Artinian/FiniteType.lean, line 580. The attribute's comment: “Items (1)-(8); (4) via 04MG's Hausdorff and totally disconnected conditions.”. References: EGA I (6.4.4), “affine case”.
Zero-dimensional finite type algebras. For an algebra
Sof finite type over an Artinian ringRthe following are equivalent:Shas Krull dimension at most0;Shas finitely many prime ideals;Shas finitely many maximal ideals;Spec Sis Hausdorff;Sis finite as anR-module;Sis Artinian;Spec Sis discrete; andSpec Sis totally disconnected. Over a fieldR = kthe fifth condition says thatSis finite dimensional as ak-vector space.
public theorem krullDimLE_zero_tfae (R S : Type*) [CommRing R] [CommRing S] [Algebra R S]
[IsArtinianRing R] [Algebra.FiniteType R S] :
List.TFAE
[ Ring.KrullDimLE 0 S,
Finite (PrimeSpectrum S),
Finite (MaximalSpectrum S),
T2Space (PrimeSpectrum S),
Module.Finite R S,
IsArtinianRing S,
DiscreteTopology (PrimeSpectrum S),
TotallyDisconnectedSpace (PrimeSpectrum S) ]
Tag 00KX, a lemma
Tag 00KX in the Stacks Project.
isJacobsonRing_of_forall_isMaximal_or_infinite_setOf_isPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Jacobson/Criteria.lean, line 203. References: EGA IV (10.5.2), “sufficiency”; EGA IV (10.5.5), “(ii) sufficiency, affine”; EGA IV (10.4.3), “Artinian, PID clauses”.
A Noetherian ring in which every prime ideal is either maximal or contained in infinitely many prime ideals is a Jacobson ring.
public theorem isJacobsonRing_of_forall_isMaximal_or_infinite_setOf_isPrime (R : Type*)
[CommRing R] [IsNoetherianRing R] (h : ∀ p : Ideal R, p.IsPrime →
p.IsMaximal ∨ {q : Ideal R | p ≤ q ∧ q.IsPrime}.Infinite) :
IsJacobsonRing R
Sources
Section10.62 Support and dimension of modules#
Section 10.62 of the Stacks Project, Tag 00KY. 6 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00L4, a lemma
Tag 00L4 in the Stacks Project.
support_eq_iUnion_zeroLocus, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Support/Finite.lean, line 140.
Stacks 00L4, main statement. With the filtration data of Stacks 00L0, the support of
Mis the union of the closed setsV(𝔭ᵢ).
theorem support_eq_iUnion_zeroLocus
(A : Type*) [CommRing A] (M : Type*) [AddCommGroup M] [Module A M]
[IsNoetherianRing A] [Module.Finite A M]
(s : RelSeries {(N₁, N₂) : Submodule A M × Submodule A M |
N₁.IsQuotientEquivQuotientPrime N₂})
(hhead : s.head = ⊥) (hlast : s.last = ⊤)
(p : Fin s.length → PrimeSpectrum A)
(hp : ∀ i : Fin s.length,
Nonempty (((s.toFun i.succ) ⧸ (s.toFun i.castSucc).submoduleOf (s.toFun i.succ))
≃ₗ[A] A ⧸ (p i).asIdeal)) :
Module.support A M
= ⋃ i : Fin s.length, PrimeSpectrum.zeroLocus ((p i).asIdeal : Set A)
mem_support_of_isQuotientEquivQuotientPrime_series, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Support/Finite.lean, line 161.
Stacks 00L4, "in particular". Each prime
𝔭ᵢlies in the support ofM.
theorem mem_support_of_isQuotientEquivQuotientPrime_series
(A : Type*) [CommRing A] (M : Type*) [AddCommGroup M] [Module A M]
[IsNoetherianRing A] [Module.Finite A M]
(s : RelSeries {(N₁, N₂) : Submodule A M × Submodule A M |
N₁.IsQuotientEquivQuotientPrime N₂})
(hhead : s.head = ⊥) (hlast : s.last = ⊤)
(p : Fin s.length → PrimeSpectrum A)
(hp : ∀ i : Fin s.length,
Nonempty (((s.toFun i.succ) ⧸ (s.toFun i.castSucc).submoduleOf (s.toFun i.succ))
≃ₗ[A] A ⧸ (p i).asIdeal)) :
∀ i : Fin s.length, p i ∈ Module.support A M
Tag 00L5, a lemma
Tag 00L5 in the Stacks Project.
support_point, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Support/Finite.lean, line 328. References: EGA 0 (16.1.10), “local ring case”; EGA IV (4.7.7), “special case”; SGA 6 X (1.1.2), “special case”.
Stacks 00L5. Over a Noetherian local ring
Rwith maximal idealm, a nonzero finiteR-moduleMhas support equal to the singleton{m}if and only ifMhas finite length overR.
theorem support_point {R : Type*} [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
{M : Type*} [AddCommGroup M] [Module R M] [Module.Finite R M] [Nontrivial M] :
Module.support R M = {IsLocalRing.closedPoint R} ↔ IsFiniteLength R M
Tag 00L6, a lemma
Tag 00L6 in the Stacks Project.
main_theorem_00l6, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Support/Finite.lean, line 354. References: EGA I (9.3.4), “affine case”.
For a finite module
Mover a Noetherian ringRand an idealI ⊆ R, some power ofIannihilatesMif and only if the support ofMis contained in the zero locus ofI.
theorem main_theorem_00l6 {R : Type*} {M : Type*} [CommRing R] [AddCommGroup M] [Module R M]
[IsNoetherianRing R] [Module.Finite R M] (I : Ideal R) :
(∃ n : ℕ, (I ^ n) • (⊤ : Submodule R M) = ⊥) ↔
Module.support R M ⊆ PrimeSpectrum.zeroLocus (I : Set R)
Tag 00L7, a lemma
Tag 00L7 in the Stacks Project.
Module.setOf_minimal_range_eq_setOf_minimal_support_and_ncard_eq_length, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Length/Additivity.lean, line 417.
Stacks 00L7. Let
Rbe a ring,ManR-module, and let0 = N₀ ⊆ N₁ ⊆ ⋯ ⊆ Nₙ = Mbe a filtration whose successive quotients areNᵢ₊₁ ⧸ Nᵢ ≅ R ⧸ 𝔭ᵢfor primes𝔭ᵢ = p iofR, as produced by Stacks 00L0. Then the minimal elements of the set{𝔭ᵢ}are exactly the minimal elements ofSupp(M), and each minimal𝔭 ∈ Supp(M)occurs among the𝔭ᵢexactlylength_{R_𝔭} M_𝔭times.
public theorem setOf_minimal_range_eq_setOf_minimal_support_and_ncard_eq_length {R M : Type*}
[CommRing R] [AddCommGroup M] [Module R M] {n : ℕ} (N : Fin (n + 1) → Submodule R M)
(p : Fin n → PrimeSpectrum R) (hle : ∀ i : Fin n, N i.castSucc ≤ N i.succ)
(hquot : ∀ i : Fin n,
Nonempty ((↥(N i.succ) ⧸ (N i.castSucc).submoduleOf (N i.succ)) ≃ₗ[R] R ⧸ (p i).asIdeal))
(hbot : N 0 = ⊥) (htop : N (Fin.last n) = ⊤) :
{q | Minimal (· ∈ Set.range p) q} = {q | Minimal (· ∈ Module.support R M) q} ∧
∀ q : PrimeSpectrum R, Minimal (· ∈ Module.support R M) q →
({i | p i = q}.ncard : ℕ∞) =
Module.length (Localization.AtPrime q.asIdeal)
(LocalizedModule q.asIdeal.primeCompl M)
Tag 00L8, a lemma
Tag 00L8 in the Stacks Project.
Module.hilbertSamuelDegree_eq_supportDim, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/HilbertSamuel/Dimension.lean, line 310. References: EGA 0 (16.2.3), “special case”.
Stacks 00L8. Let
Rbe a Noetherian local ring and letMbe a finiteR-module. Then the Hilbert–Samuel degreed(M)of Definition 00KA equals the dimension of the support ofM, that is, the Krull dimension ofSupp(M) ⊆ Spec(R).The equation is stated in
WithBot ℕ∞, wheredim Supp(M)lives, withd(M) : WithBot ℕtransported along the order embeddingWithBot.map (Nat.cast : ℕ → ℕ∞); it therefore also asserts thatdim Supp(M)is finite. Both sides are⊥ = -∞exactly whenM = 0.
public theorem hilbertSamuelDegree_eq_supportDim (R : Type*) [CommRing R] [IsNoetherianRing R]
[IsLocalRing R] (M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M] :
(hilbertSamuelDegree R M).map (Nat.cast : ℕ → ℕ∞) = supportDim R M
Tag 0B51, a lemma
Tag 0B51 in the Stacks Project.
Module.supportDim_of_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/KrullDimension/Module.lean, line 222.
Stacks 0B51. Let
Rbe a commutative ring and let0 → M → N → P → 0be a short exact sequence ofR-modules, given byf : M →ₗ[R] Ninjective,g : N →ₗ[R] Psurjective andFunction.Exact f g. Thendim Supp(N) = max (dim Supp(M)) (dim Supp(P)).The source assumes
RNoetherian and the three modules finite; neither hypothesis is needed for this formulation of the dimension of the support.
public theorem supportDim_of_exact {R M N P : Type*} [CommRing R] [AddCommGroup M] [Module R M]
[AddCommGroup N] [Module R N] [AddCommGroup P] [Module R P] {f : M →ₗ[R] N} {g : N →ₗ[R] P}
(h : Function.Exact f g) (hf : Function.Injective f) (hg : Function.Surjective g) :
supportDim R N = max (supportDim R M) (supportDim R P)
Sources
Section10.63 Associated primes#
Section 10.63 of the Stacks Project, Tag 00L9. 16 tags here are carried by 16 declarations of the repository (all in StacksFrontier) and 4 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00LA, a definition
Tag 00LA in the Stacks Project.
IsAssociatedPrimeStacks, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Defs.lean, line 50. References: SGA 2 III (1.1), “Ass M clause”.
Stacks 00LA. A prime ideal
pofRis associated to theR-moduleMwhen it is the annihilator of a single element ofM.
def IsAssociatedPrimeStacks (p : Ideal R) : Prop
Tag 0586, a lemma
Tag 0586 in the Stacks Project.
assPrimes_subset_support, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Defs.lean, line 137. References: SGA 2 III (1.2), “(ii) ⇒ (i)”.
Stacks Tag 0586. Every associated prime of
Mlies in the support ofM:Ass(M) ⊆ Supp(M). HereModule.support R Mis the set of primespat which the localizationM_pis nonzero.
theorem assPrimes_subset_support (R M : Type*) [CommRing R] [AddCommGroup M] [Module R M] :
assAssociatedPrimes R M ⊆ Module.support R M
Tag 00LB, a lemma
Tag 00LB in the Stacks Project.
ass_subset_of_filtration, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Filtration.lean, line 205.
Stacks Tag 00LB. If
Madmits a finite filtration byR-submodules0 = M_0 ⊆ M_1 ⊆ ... ⊆ M_n = Mwhose successive quotientsM_i / M_{i-1}are isomorphic toR / p_ifor prime idealsp_i, then every associated prime ofMis among thep_i.
theorem ass_subset_of_filtration
(R M : Type*) [CommRing R] [AddCommGroup M] [Module R M]
(n : ℕ) (Mfil : Fin (n + 1) → Submodule R M)
(hbot : Mfil 0 = ⊥) (htop : Mfil (Fin.last n) = ⊤)
(hmono : Monotone Mfil)
(p : Fin n → Ideal R)
(hp : ∀ i : Fin n, (p i).IsPrime)
(hquot : ∀ i : Fin n,
Nonempty (((Mfil i.succ) ⧸ (Submodule.comap (Mfil i.succ).subtype (Mfil i.castSucc)))
≃ₗ[R] (R ⧸ p i))) :
assPrimes R M ⊆ Set.range p
Tag 02CE, a proposition
Tag 02CE in the Stacks Project.
Module.setOf_minimal_support_eq_setOf_minimal_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Support.lean, line 137. The attribute's comment: “Parts (1) and (2); the equality with part (3) is the first conclusion of Stacks 00L7, which the source's own proof cites for that step.”.
Let
Rbe a Noetherian ring andMa finiteR-module. The primes minimal inSupp(M)are exactly the primes minimal inAss(M).
public theorem setOf_minimal_support_eq_setOf_minimal_associatedPrimes {R M : Type*} [CommRing R]
[IsNoetherianRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] :
{q : PrimeSpectrum R | Minimal (· ∈ Module.support R M) q} =
{q : PrimeSpectrum R | Minimal (· ∈ PrimeSpectrum.asIdeal ⁻¹' associatedPrimes R M) q}
Tag 0587, a lemma
Tag 0587 in the Stacks Project.
Declarations registered for the tag:
associatedPrimes.eq_empty_of_subsingletonregistered withadd_to_stacksin StacksFrontier/RingTheory/Ideal/AssociatedPrime/Basic.lean, line 128 (StacksFrontier): “the direction M = 0 implies Ass(M) = 0”.associatedPrimes.nonemptyregistered withadd_to_stacksin StacksFrontier/RingTheory/Ideal/AssociatedPrime/Basic.lean, line 130 (StacksFrontier): “the converse, contrapositively: a nontrivial module has an associated prime”.
Tag 05BV, a lemma
Tag 05BV in the Stacks Project.
Module.mem_associatedPrimes_of_minimal_mem_support, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Support.lean, line 244.
Let
Rbe a Noetherian ring and letMbe anR-module. Any prime𝔭which is minimal among the elements of the support ofMis an associated prime ofM.
public theorem Module.mem_associatedPrimes_of_minimal_mem_support {R : Type*} [CommRing R]
[IsNoetherianRing R] {M : Type*} [AddCommGroup M] [Module R M] {p : PrimeSpectrum R}
(hp : Minimal (· ∈ Module.support R M) p) :
p.asIdeal ∈ associatedPrimes R M
Tag 00LD, a lemma
Tag 00LD in the Stacks Project.
Declarations registered for the tag:
biUnion_associatedPrimes_eq_zero_divisorsregistered withadd_to_stacksin StacksFrontier/RingTheory/Ideal/AssociatedPrime/Support.lean, line 265 (StacksFrontier). References: EGA IV (20.2.13), “S”.biUnion_associatedPrimes_eq_compl_regularregistered withadd_to_stacksin StacksFrontier/RingTheory/Ideal/AssociatedPrime/Support.lean, line 267 (StacksFrontier): “the same union, phrased viaIsSMulRegular”. References: EGA IV (20.2.13), “S”.
Tag 05BW, a lemma
Tag 05BW in the Stacks Project.
spec_image_ass_subset, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Functoriality.lean, line 335. References: EGA IV (3.1.10.1), “Contraction inclusion”.
Stacks Tag 05BW (Lemma 10.63.11): for a ring map
φ : R → Sand anS-moduleMviewed as anR-module via restriction of scalars alongφ(encoded byhcompat : ∀ r m, r • m = φ r • m), the image ofAss_S(M)under the contraction mapSpec(φ) = Ideal.comap φis contained inAss_R(M).
theorem spec_image_ass_subset
{R S M : Type*} [CommSemiring R] [CommSemiring S]
[AddCommMonoid M] [Module R M] [Module S M] (φ : R →+* S)
(hcompat : ∀ (r : R) (m : M), r • m = φ r • m) :
(Ideal.comap φ) '' (assOf S (M := M)) ⊆ assOf R (M := M)
Tag 05BX, a remark
Tag 05BX in the Stacks Project.
assExact_not_functorial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Functoriality.lean, line 545.
Together, the two statements above witness the failure of functoriality of associated primes along
algebraMap k (S k):Ass_k(S) ≠ ∅whileAss_S(S) = ∅.
theorem assExact_not_functorial (k : Type*) [Field k] :
(assExact k (S k)).Nonempty ∧ assExact (S k) (S k) = ∅
Tag 05DZ, a lemma
Tag 05DZ in the Stacks Project.
Module.associatedPrimes.image_comap_associatedPrimes_eq_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Functoriality.lean, line 263.
Stacks 05DZ. Let
Sbe anR-algebra and letMbe anS-module, viewed as anR-module throughalgebraMap R S. IfSis Noetherian, then contracting ideals alongalgebraMap R S— the mapSpec(φ)on spectra — carries the associated primes ofMoverSonto the associated primes ofMoverR:Spec(φ)(Ass_S(M)) = Ass_R(M).The inclusion
⊆needs no Noetherian hypothesis (Stacks 05BW), and by Stacks 05BX the reverse inclusion genuinely does.
public theorem Module.associatedPrimes.image_comap_associatedPrimes_eq_associatedPrimes
{R S : Type*} [CommSemiring R] [CommSemiring S] [Algebra R S] [IsNoetherianRing S]
{M : Type*} [AddCommMonoid M] [Module S M] [Module R M] [IsScalarTower R S M] :
Ideal.comap (algebraMap R S) '' associatedPrimes S M = associatedPrimes R M
Tag 05BY, a lemma
Tag 05BY in the Stacks Project.
Stacks.AssociatedPrimes.main_theorem_05by, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Defs.lean, line 223.
Stacks Tag 05BY. Contraction along
π : R → R ⧸ Icarries the associated primes ofMoverR ⧸ Ionto the associated primes ofMoverR.
theorem main_theorem_05by :
(fun p : Ideal (R ⧸ I) => p.comap (Ideal.Quotient.mk I)) '' assPrimes (R ⧸ I) M =
assPrimes R M
Tag 05BZ, a lemma
Tag 05BZ in the Stacks Project.
Stacks.AssociatedPrimes.assPrimes_eq_image_comap_assPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/LocalizationSpectrum.lean, line 92. The attribute's comment: “(1)”.
Stacks 05BZ (1). For
R'a localizationS⁻¹Rand anyR'-moduleM'(in particularM' = S⁻¹M), the associated primes ofM'overRare the contractions alongSpec(S⁻¹R) → Spec(R)of its associated primes overR':Ass_R(M') = Ass_{S⁻¹R}(M').
theorem assPrimes_eq_image_comap_assPrimes :
assPrimes R M' = Ideal.comap (algebraMap R R') '' assPrimes R' M'
Stacks.AssociatedPrimes.assPrimes_inter_image_comap_subset, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/LocalizationSpectrum.lean, line 133. The attribute's comment: “(2)”.
Stacks 05BZ (2). Via the canonical injection
Spec(S⁻¹R) → Spec(R), whose image isIdeal.comap (algebraMap R R') '' {J | J.IsPrime}, we haveAss_R(M) ∩ Spec(S⁻¹R) ⊆ Ass_R(S⁻¹M).
theorem assPrimes_inter_image_comap_subset :
assPrimes R M ∩ Ideal.comap (algebraMap R R') '' {J | J.IsPrime} ⊆ assPrimes R M'
Stacks.AssociatedPrimes.assPrimes_inter_image_comap_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/LocalizationSpectrum.lean, line 146. The attribute's comment: “(3)”.
Stacks 05BZ (3). If
Ris Noetherian, the inclusion of Stacks 05BZ (2) is an equality:Ass_R(M) ∩ Spec(S⁻¹R) = Ass_R(S⁻¹M).
theorem assPrimes_inter_image_comap_eq [IsNoetherianRing R] :
assPrimes R M ∩ Ideal.comap (algebraMap R R') '' {J | J.IsPrime} = assPrimes R M'
Tag 05C0, a lemma
Tag 05C0 in the Stacks Project.
AssLocalization.assPrimes_localizedModule_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Localization.lean, line 130.
Stacks Tag 05C0 / Lemma 10.63.17. If every element of the multiplicative subset
Sis a nonzerodivisor on theR-moduleM, then the (exact-annihilator) associated primes ofMand of its localizationS⁻¹M = LocalizedModule S M(both asR-modules) coincide.
theorem assPrimes_localizedModule_eq (S : Submonoid R) (hS : AllNonZeroDivisorsOn S M) :
Stacks.AssociatedPrimes.assPrimes R M
= Stacks.AssociatedPrimes.assPrimes R (LocalizedModule S M)
Tag 00LL, a lemma
Tag 00LL in the Stacks Project.
Ideal.exists_mem_isSMulRegular_iff_forall_associatedPrimes_not_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Basic.lean, line 115. References: SGA 2 III (2.1), “(ii) <=> (iv)”.
Let
Rbe a Noetherian ring,ManR-module with finitely many associated primes andI ⊆ Ran ideal. ThenIcontains an element that is a nonzerodivisor onMif and only ifIis contained in no associated prime ofM.
public theorem Ideal.exists_mem_isSMulRegular_iff_forall_associatedPrimes_not_le {R : Type*}
[CommRing R] [IsNoetherianRing R] (I : Ideal R) (M : Type*) [AddCommGroup M] [Module R M]
(hM : (associatedPrimes R M).Finite) :
(∃ x ∈ I, IsSMulRegular M x) ↔
∀ 𝔮 ∈ associatedPrimes R M, ¬ I ≤ 𝔮
Tag 0311, a lemma
Tag 0311 in the Stacks Project.
zero_at_ass_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Support.lean, line 162.
Over a Noetherian ring, the canonical map from \(M\) into the product of its localizations at associated primes is injective.
theorem zero_at_ass_zero (R : Type*) [CommRing R] [IsNoetherianRing R]
(M : Type*) [AddCommGroup M] [Module R M] :
Function.Injective (assMap R M)
Tag 0GEC, a lemma
Tag 0GEC in the Stacks Project.
exists_mem_nonZeroDivisors_not_isUnit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Ideal/AssociatedPrime/Basic.lean, line 159. References: SGA 3 VIA (1.1.2), “special case”.
For a finite type algebra
Sover a fieldkwith0 < dim S, some element ofSis simultaneously a nonzerodivisor and a nonunit.
theorem exists_mem_nonZeroDivisors_not_isUnit {k : Type*} [Field k] {S : Type*} [CommRing S]
[Algebra k S] [Algebra.FiniteType k S] (h : 0 < ringKrullDim S) :
∃ f : S, f ∈ nonZeroDivisors S ∧ ¬ IsUnit f
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.