15.22 Torsion free modules to 15.42 Regular ring maps
Section15.22 Torsion free modules#
Section 15.22 of the Stacks Project, Tag 0549. 12 tags here are carried by 6 declarations of the repository (all in StacksFrontier) and 12 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0536, a definition
Tag 0536 in the Stacks Project.
Declarations registered for the tag:
Submodule.torsionregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 357 (StacksFrontier): “(1): torsion elements”. References: EGA I (7.4.1), “special case”; EGA I (7.4.7), “special case”.Module.IsTorsionFreeregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 360 (StacksFrontier): “(2): torsion-free modules”. References: EGA I (7.4.1), “special case”; EGA I (7.4.7), “special case”; SGA 7 X (2.26).Module.IsTorsionregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 364 (StacksFrontier): “(3): torsion modules”. References: EGA I (7.4.1), “special case”; EGA I (7.4.7), “special case”.
Tag 0537, a lemma
Tag 0537 in the Stacks Project.
Declarations registered for the tag:
Submodule.torsionregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 368 (StacksFrontier): “the torsion submodule”. References: EGA I (7.4.1), “special case”; EGA I (7.4.7), “special case”.Submodule.mem_torsion_iffregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 369 (StacksFrontier): “its elements are exactly the torsion elements”.Submodule.QuotientTorsion.instIsTorsionFreeregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 370 (StacksFrontier): “the quotient by the torsion submodule is torsion-free”. References: EGA I (7.4.1), “special case”; SGA 7 I (1.3), “partial”.
Tag 0AUR, a lemma
Tag 0AUR in the Stacks Project.
Declarations registered for the tag:
IsLocalizedModule.isTorsionFreeregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 386 (StacksFrontier).
Tag 0AXM, a lemma
Tag 0AXM in the Stacks Project.
isTorsionFree_baseChange_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/TorsionFree.lean, line 84. References: EGA IV (9.4.9), “partial”.
If
Ris a domain,R'is a flatR-algebra andMis a torsion-freeR-module, then the base changeR' ⊗[R] Mis a torsion-freeR'-module.
theorem isTorsionFree_baseChange_of_flat
{R R' : Type*} [CommRing R] [CommRing R'] [Algebra R R']
[IsDomain R] [Module.Flat R R']
{M : Type*} [AddCommGroup M] [Module R M] [Module.IsTorsionFree R M] :
Module.IsTorsionFree R' (TensorProduct R R' M)
Tag 0AUS, a lemma
Tag 0AUS in the Stacks Project.
isTorsionFree_of_injective_of_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/TorsionFree.lean, line 104.
For an injective exact pair of module maps, if the source and target modules are torsion-free, then the middle module is torsion-free.
theorem isTorsionFree_of_injective_of_exact
{R : Type u} [Semiring R]
{M : Type v} {M' : Type w} {M'' : Type x}
[AddCommGroup M] [Module R M]
[AddCommGroup M'] [Module R M']
[AddCommGroup M''] [Module R M'']
(f : M →ₗ[R] M') (g : M' →ₗ[R] M'')
(hf : Function.Injective f) (hfg : Function.Exact f g)
[Module.IsTorsionFree R M] [Module.IsTorsionFree R M''] :
Module.IsTorsionFree R M'
Tag 0AUT, a lemma
Tag 0AUT in the Stacks Project.
isTorsionFree_iff_isLocalized_maximal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/TorsionFree.lean, line 130.
A module over a domain is torsion-free if and only if its localization at every maximal ideal is torsion-free over the corresponding localized ring.
theorem isTorsionFree_iff_isLocalized_maximal
{R : Type u} [CommRing R] [IsDomain R]
{M : Type v} [AddCommMonoid M] [Module R M]
(Rₚ : ∀ (P : Ideal R) [P.IsMaximal], Type w)
[∀ (P : Ideal R) [P.IsMaximal], CommRing (Rₚ P)]
[∀ (P : Ideal R) [P.IsMaximal], Algebra R (Rₚ P)]
[∀ (P : Ideal R) [P.IsMaximal], IsLocalization.AtPrime (Rₚ P) P]
(Mₚ : ∀ (P : Ideal R) [P.IsMaximal], Type x)
[∀ (P : Ideal R) [P.IsMaximal], AddCommMonoid (Mₚ P)]
[∀ (P : Ideal R) [P.IsMaximal], Module R (Mₚ P)]
[∀ (P : Ideal R) [P.IsMaximal], Module (Rₚ P) (Mₚ P)]
[∀ (P : Ideal R) [P.IsMaximal], IsScalarTower R (Rₚ P) (Mₚ P)]
(f : ∀ (P : Ideal R) [P.IsMaximal], M →ₗ[R] Mₚ P)
[∀ (P : Ideal R) [P.IsMaximal], IsLocalizedModule.AtPrime P (f P)] :
Module.IsTorsionFree R M ↔
∀ (P : Ideal R) [P.IsMaximal], Module.IsTorsionFree (Rₚ P) (Mₚ P)
Tag 0AUU, a lemma
Tag 0AUU in the Stacks Project.
isTorsionFree_iff_exists_injective_to_finite_free, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/TorsionFree.lean, line 210.
A finite module over a domain is torsion-free if and only if it embeds into a finite free module.
theorem isTorsionFree_iff_exists_injective_to_finite_free
{R : Type u} [CommRing R] [IsDomain R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] :
Module.IsTorsionFree R M ↔
∃ N : ModuleCat.{max u v} R,
Module.Finite R N ∧ Module.Free R N ∧
∃ f : M →ₗ[R] N, Function.Injective f
Tag 0AUV, a lemma
Tag 0AUV in the Stacks Project.
isTorsionFree_iff_finiteFreeEmbedding_iff_associatedPrimes_iff_propertyS1, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/TorsionFree.lean, line 293.
For a nonzero finite module over a Noetherian domain, the following are equivalent: it is torsion-free; it embeds into a finite free module; its only associated prime is zero; zero lies in its support and it satisfies
(S₁); and zero lies in its support and it has no embedded associated prime.
theorem isTorsionFree_iff_finiteFreeEmbedding_iff_associatedPrimes_iff_propertyS1
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] [Nontrivial M] :
(Module.IsTorsionFree R M ↔
∃ N : ModuleCat.{max u v} R,
Module.Finite R N ∧ Module.Free R N ∧
∃ f : M →ₗ[R] N, Function.Injective f) ∧
((∃ N : ModuleCat.{max u v} R,
Module.Finite R N ∧ Module.Free R N ∧
∃ f : M →ₗ[R] N, Function.Injective f) ↔
associatedPrimes R M = {⊥}) ∧
(associatedPrimes R M = {⊥} ↔
(⊥ : PrimeSpectrum R) ∈ Module.support R M ∧
∀ p : PrimeSpectrum R,
min 1 (Module.supportDim (Localization.AtPrime p.asIdeal)
(LocalizedModule p.asIdeal.primeCompl M)) ≤
(Module.depth (Localization.AtPrime p.asIdeal)
(IsLocalRing.maximalIdeal (Localization.AtPrime p.asIdeal))
(LocalizedModule p.asIdeal.primeCompl M) : WithBot ℕ∞)) ∧
(((⊥ : PrimeSpectrum R) ∈ Module.support R M ∧
∀ p : PrimeSpectrum R,
min 1 (Module.supportDim (Localization.AtPrime p.asIdeal)
(LocalizedModule p.asIdeal.primeCompl M)) ≤
(Module.depth (Localization.AtPrime p.asIdeal)
(IsLocalRing.maximalIdeal (Localization.AtPrime p.asIdeal))
(LocalizedModule p.asIdeal.primeCompl M) : WithBot ℕ∞)) ↔
(⊥ : PrimeSpectrum R) ∈ Module.support R M ∧
∀ p ∈ associatedPrimes R M, Minimal (· ∈ associatedPrimes R M) p)
Tag 0538, a lemma
Tag 0538 in the Stacks Project.
Declarations registered for the tag:
Module.Flat.isTorsionFreeregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 375 (StacksFrontier). References: EGA 0 (6.3.4), “more general”; EGA IV (20.1.5), “special case”; EGA IV (21.5.3), “partial”; SGA 1 IV (1.3), “more general”; SGA 3 XV (4.7), “partial”.
Tag 0539, a lemma
Tag 0539 in the Stacks Project.
Declarations registered for the tag:
Submodule.isTorsionFree_iff_torsion_eq_botregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 382 (StacksFrontier): “the bridge from trivial torsion submodule to torsion-freeness”. References: EGA I (7.4.1), “special case”.
Tag 0AUW, a lemma
Tag 0AUW in the Stacks Project.
projective_of_finite_isTorsionFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/TorsionFree.lean, line 344. The attribute's comment: “(2)”. References: EGA 0 (6.3.4), “finite, Dedekind domain”.
A finite torsion-free module over a Dedekind domain is projective, hence finite locally free.
theorem projective_of_finite_isTorsionFree
(R : Type u) [CommRing R] [IsDedekindDomain R]
(M : Type v) [AddCommGroup M] [Module R M]
[Module.Finite R M] [Module.IsTorsionFree R M] :
Module.Projective R M
Declarations registered for the tag:
Submodule.isTorsionFree_iff_torsion_eq_botregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 388 (StacksFrontier): “(1), trivial torsion versus torsion-freeness”. References: EGA I (7.4.1), “special case”.Module.free_iff_isTorsionFreeregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 390 (StacksFrontier): “(3), finite torsion-free modules over a PID are finite free”. References: EGA 0 (6.3.4), “more general”; SGA 6 IX (1.7), “more general”.
Tag 0AUX, a lemma
Tag 0AUX in the Stacks Project.
Declarations registered for the tag:
LinearMap.instIsTorsionFreeregistered withadd_to_stacksin StacksFrontier/Algebra/Module/TorsionFree.lean, line 395 (StacksFrontier): “the semilinear form specializes to linear maps over a domain”.
Sources
Section15.24 Reflexive modules#
Section 15.24 of the Stacks Project, Tag 0AUY. 20 tags here are carried by 19 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0AUZ, a definition
Tag 0AUZ in the Stacks Project.
Declarations registered for the tag:
Module.IsReflexiveregistered withadd_to_stacksin StacksFrontier/Algebra/Module/Reflexive.lean, line 2851 (StacksFrontier).
Tag 0AV0, a lemma
Tag 0AV0 in the Stacks Project.
isTorsionFree_of_isReflexive_and_dualEval_isTorsion_and_injective_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 425.
Stacks Tag 0AV0. A reflexive module over a domain is torsion-free. For a finite module, the kernel and cokernel of the canonical evaluation map into the double dual are torsion, and that map is injective if and only if the module is torsion-free.
theorem isTorsionFree_of_isReflexive_and_dualEval_isTorsion_and_injective_iff
{R : Type u} [CommRing R] [IsDomain R]
{M : Type v} [AddCommGroup M] [Module R M] :
(Module.IsReflexive R M → Module.IsTorsionFree R M) ∧
(Module.Finite R M →
Module.IsTorsion R (LinearMap.ker (Module.Dual.eval R M)) ∧
Module.IsTorsion R
(Module.Dual R (Module.Dual R M) ⧸ LinearMap.range (Module.Dual.eval R M))) ∧
(Module.Finite R M →
(Function.Injective (Module.Dual.eval R M) ↔ Module.IsTorsionFree R M))
Tag 0B36, a lemma
Tag 0B36 in the Stacks Project.
surjective_dualEval_of_finite, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 679.
Stacks Tag 0B36. The canonical evaluation map from a finite module over a Dedekind domain to its double dual is surjective.
theorem surjective_dualEval_of_finite
(R : Type u) [CommRing R] [IsDedekindDomain R]
(M : Type v) [AddCommGroup M] [Module R M] [Module.Finite R M] :
Function.Surjective (Module.Dual.eval R M)
Tag 0AV1, a lemma
Tag 0AV1 in the Stacks Project.
reflexive_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive/Localization.lean, line 186.
Stacks 0AV1. Let
Rbe a Noetherian ring andMa finiteR-module. The following are equivalent:Mis reflexive;M_pis a reflexiveR_p-module for every primep;M_mis a reflexiveR_m-module for every maximal idealm.
theorem reflexive_tfae
(R : Type*) [CommRing R] [IsNoetherianRing R]
(M : Type*) [AddCommGroup M] [Module R M] [Module.Finite R M] :
[ Module.IsReflexive R M,
∀ (p : Ideal R) [p.IsPrime],
Module.IsReflexive (Localization.AtPrime p) (LocalizedModule p.primeCompl M),
∀ (m : Ideal R) [m.IsMaximal],
Module.IsReflexive (Localization.AtPrime m) (LocalizedModule m.primeCompl M)
].TFAE
Tag 0EB8, a lemma
Tag 0EB8 in the Stacks Project.
isReflexive_of_exact_of_isReflexive_of_isTorsionFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 446.
Stacks Tag 0EB8. Let
Rbe a Noetherian domain and let0 → M → M' → M''be an exact sequence of finiteR-modules. IfM'is reflexive andM''is torsion-free, thenMis reflexive.
theorem isReflexive_of_exact_of_isReflexive_of_isTorsionFree
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R]
{M : Type v} {M' : Type w} {M'' : Type x}
[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) (hfg : Function.Exact f g)
(hM' : Module.IsReflexive R M') (hM'' : Module.IsTorsionFree R M'') :
Module.IsReflexive R M
Tag 0AV2, a lemma
Tag 0AV2 in the Stacks Project.
isReflexive_iff_exists_finFree_shortExact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 526.
Stacks Tag 0AV2. A finite module over a Noetherian domain is reflexive if and only if it fits into a short exact sequence
0 → M → F → N → 0withFfinite free andNtorsion-free.
theorem isReflexive_iff_exists_finFree_shortExact
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] :
Module.IsReflexive R M ↔
∃ (n : ℕ) (N : Type u) (_ : AddCommGroup N) (_ : Module R N),
Module.IsTorsionFree R N ∧
∃ (f : M →ₗ[R] (Fin n → R)) (g : (Fin n → R) →ₗ[R] N),
Function.Injective f ∧ Function.Exact f g ∧ Function.Surjective g
Tag 0EB9, a lemma
Tag 0EB9 in the Stacks Project.
isReflexive_baseChange_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 636.
Stacks Tag 0EB9. A finite reflexive module over a Noetherian domain remains reflexive after flat base change to a Noetherian domain. The base-changed module is automatically finite.
theorem isReflexive_baseChange_of_flat
{R : Type u} {R' : Type v} [CommRing R] [CommRing R'] [Algebra R R']
[IsDomain R] [IsDomain R'] [IsNoetherianRing R] [IsNoetherianRing R']
[Module.Flat R R'] {M : Type w} [AddCommGroup M] [Module R M]
[Module.Finite R M] [Module.IsReflexive R M] :
Module.IsReflexive R' (TensorProduct R R' M)
Tag 0AV3, a lemma
Tag 0AV3 in the Stacks Project.
isReflexive_linearMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 612.
Stacks Tag 0AV3. Over a Noetherian domain, the module of linear maps from a finite module into a finite reflexive module is reflexive.
theorem isReflexive_linearMap
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M]
{N : Type w} [AddCommGroup N] [Module R N] [Module.Finite R N]
(hN : Module.IsReflexive R N) :
Module.IsReflexive R (M →ₗ[R] N)
Tag 0AV4, a definition
Tag 0AV4 in the Stacks Project.
Module.reflexiveHull, an abbrev in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 116.
Stacks Tag 0AV4. The reflexive hull of an
R-moduleMis its double dualHom_R(Hom_R(M, R), R).
abbrev Module.reflexiveHull (R : Type u) [CommSemiring R]
(M : Type v) [AddCommMonoid M] [Module R M]
Tag 0AV5, a lemma
Tag 0AV5 in the Stacks Project.
one_le_depth_and_two_le_depth_linearMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 730.
Stacks Tag 0AV5. If
MandNare finite modules over a Noetherian local ring, thenHom(M, N)has depth at least one (respectively, at least two) wheneverNdoes.
theorem one_le_depth_and_two_le_depth_linearMap
{R : Type u} [CommRing R] [IsNoetherianRing R] [IsLocalRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M]
{N : Type w} [AddCommGroup N] [Module R N] [Module.Finite R N] :
((1 : ℕ∞) ≤ Module.depth R (IsLocalRing.maximalIdeal R) N →
(1 : ℕ∞) ≤ Module.depth R (IsLocalRing.maximalIdeal R) (M →ₗ[R] N)) ∧
((2 : ℕ∞) ≤ Module.depth R (IsLocalRing.maximalIdeal R) N →
(2 : ℕ∞) ≤ Module.depth R (IsLocalRing.maximalIdeal R) (M →ₗ[R] N))
Tag 0AV6, a lemma
Tag 0AV6 in the Stacks Project.
propertySk_linearMap_one_two_and_isTorsionFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 843.
Stacks Tag 0AV6. For finite modules
MandNover a Noetherian ring, the moduleHom_R(M, N)inherits(S₁)and(S₂)fromN; if the ring is a domain, it also inherits the conjunction of torsion-freeness and(S₂).
theorem propertySk_linearMap_one_two_and_isTorsionFree
{R : Type u} [CommRing R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M]
{N : Type w} [AddCommGroup N] [Module R N] [Module.Finite R N] :
(PropertySkModule R N 1 → PropertySkModule R (M →ₗ[R] N) 1) ∧
(PropertySkModule R N 2 → PropertySkModule R (M →ₗ[R] N) 2) ∧
(IsDomain R → Module.IsTorsionFree R N → PropertySkModule R N 2 →
Module.IsTorsionFree R (M →ₗ[R] N) ∧ PropertySkModule R (M →ₗ[R] N) 2)
Tag 0AV7, a lemma
Tag 0AV7 in the Stacks Project.
injective_of_injective_localized_at_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AssociatedPrime/Injective.lean, line 42.
Stacks Tag 0AV7. If for every prime ideal
pof the Noetherian ringReither the localized mapφ_p : M_p → N_pis injective orpis not an associated prime ofM, thenφ : M → Nis injective.
theorem injective_of_injective_localized_at_associatedPrimes (φ : M →ₗ[R] N)
(h : ∀ p : Ideal R, [p.IsPrime] →
Function.Injective (LocalizedModule.map p.primeCompl φ) ∨ p ∉ associatedPrimes R M) :
Function.Injective φ
Tag 0AV8, a lemma
Tag 0AV8 in the Stacks Project.
bijective_of_bijective_localized_or_depth_two_and_notMem_associatedPrimes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 1009.
Stacks Tag 0AV8. A map from a finite module over a Noetherian ring is bijective if, at every prime, it is bijective after localization or the localized source has depth at least two and the prime is not associated to the target.
theorem bijective_of_bijective_localized_or_depth_two_and_notMem_associatedPrimes
{R M N : Type*} [CommRing R] [IsNoetherianRing R]
[AddCommGroup M] [Module R M] [Module.Finite R M]
[AddCommGroup N] [Module R N] (φ : M →ₗ[R] N)
(h : ∀ (p : Ideal R) (_ : p.IsPrime),
Function.Bijective (LocalizedModule.map p.primeCompl φ) ∨
2 ≤ Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p))
(LocalizedModule p.primeCompl M) ∧ p ∉ associatedPrimes R N) :
Function.Bijective φ
Tag 0AV9, a lemma
Tag 0AV9 in the Stacks Project.
bijective_of_bijective_localized_or_depth_two_of_isTorsionFree, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 1120.
Stacks Tag 0AV9. A map from a finite nonzero module to a torsion-free module over a Noetherian domain is bijective if, at every prime, either its localization is bijective or the localized source has depth at least two.
theorem bijective_of_bijective_localized_or_depth_two_of_isTorsionFree
{R M N : Type*} [CommRing R] [IsDomain R] [IsNoetherianRing R]
[AddCommGroup M] [Module R M] [Module.Finite R M] [Nontrivial M]
[AddCommGroup N] [Module R N] [Module.IsTorsionFree R N]
(φ : M →ₗ[R] N)
(h : ∀ (p : Ideal R) (_ : p.IsPrime),
Function.Bijective (LocalizedModule.map p.primeCompl φ) ∨
2 ≤ Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p))
(LocalizedModule p.primeCompl M)) :
Function.Bijective φ
Tag 0AVA, a lemma
Tag 0AVA in the Stacks Project.
isReflexive_iff_localized_isReflexive_or_depth_two, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 1177.
Stacks Tag 0AVA. A finite module over a Noetherian domain is reflexive if and only if, at every prime, its localization is reflexive or has depth at least two.
theorem isReflexive_iff_localized_isReflexive_or_depth_two
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] :
Module.IsReflexive R M ↔
∀ (p : Ideal R) [p.IsPrime],
Module.IsReflexive (Localization.AtPrime p) (LocalizedModule p.primeCompl M) ∨
2 ≤ Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p))
(LocalizedModule p.primeCompl M)
Tag 0EBA, a lemma
Tag 0EBA in the Stacks Project.
depth_localized_ge_two_and_propertyS2_of_isReflexive, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 868.
Stacks Tag 0EBA. A finite reflexive module over a Noetherian commutative ring has depth at least two at a prime whenever the localized ring does, and inherits Serre's condition
(S₂)from the ring.
theorem depth_localized_ge_two_and_propertyS2_of_isReflexive
{R : Type u} [CommRing R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M]
[Module.IsReflexive R M] (p : Ideal R) [p.IsPrime] :
((2 : ℕ∞) ≤
Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p)) (Localization.AtPrime p) →
(2 : ℕ∞) ≤
Module.depth (Localization.AtPrime p)
(IsLocalRing.maximalIdeal (Localization.AtPrime p)) (LocalizedModule.AtPrime p M)) ∧
(PropertySkRing R 2 → PropertySkModule R M 2)
Tag 0EBB, an example
Tag 0EBB in the Stacks Project.
mvPolynomial_adjoin_reflexive_propertyS2_module_not_propertyS2, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 2811.
Stacks Tag 0EBB. The subalgebra
R = k[1, y, x², xy, x³]ofk[x, y]is a Noetherian domain which is not(S₂). BothRandk[x, y]are reflexive asR-modules, whilek[x, y]is(S₂). Moreover, ifm = (y, x², xy, x³), then the two successiveR-duals ofk[x, y]aremandk[x, y], respectively.
theorem mvPolynomial_adjoin_reflexive_propertyS2_module_not_propertyS2
(k : Type u) [Field k] :
let P := MvPolynomial (Fin 2) k
let x : P := MvPolynomial.X 0
let y : P := MvPolynomial.X 1
let R : Subalgebra k P := Algebra.adjoin k {1, y, x ^ 2, x * y, x ^ 3}
let m : Ideal R := Ideal.span {r | (r : P) ∈ ({y, x ^ 2, x * y, x ^ 3} : Set P)}
∃ (_ : IsNoetherianRing R) (_ : IsDomain R) (_ : Module.Finite R P),
∃ (dualPToM : Module.Dual R P ≃ₗ[R] m) (dualMToP : Module.Dual R m ≃ₗ[R] P),
¬ PropertySkRing R 2 ∧
Module.IsReflexive R R ∧
¬ PropertySkModule R R 2 ∧
(∀ (f : Module.Dual R P) (q : P),
(↑(↑(dualPToM f) : R) : P) * q = (↑(f q) : P)) ∧
(∀ (g : Module.Dual R m) (a : m),
(↑(g a) : P) = dualMToP g * (↑(↑a : R) : P)) ∧
Module.IsReflexive R P ∧
PropertySkModule R P 2
Tag 0AVB, a lemma
Tag 0AVB in the Stacks Project.
isReflexive_isTorsionFree_propertyS2_intersection_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 1418. References: EGA 0 (23.2.9), “special case”; EGA IV (7.8.3), “(viii), special case”.
Stacks Tag 0AVB. Let
Rbe a Noetherian normal domain andMa finiteR-module. The following are equivalent:Mis reflexive;Mis torsion-free and satisfies(S₂); andMis torsion-free and equals the intersection of its localizations at the height-one primes inside its generic fibre.
theorem isReflexive_isTorsionFree_propertyS2_intersection_tfae
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R] [IsIntegrallyClosed R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] :
List.TFAE [
Module.IsReflexive R M,
Module.IsTorsionFree R M ∧ PropertySkModule R M 2,
Module.IsTorsionFree R M ∧
∀ x : LocalizedModule (nonZeroDivisors R) M,
x ∈ LinearMap.range (LocalizedModule.mkLinearMap (nonZeroDivisors R) M) ↔
∀ (p : Ideal R) (_ : p.IsPrime), p.height = 1 →
∃ (m : M) (s : R), s ∉ p ∧
s • x = LocalizedModule.mkLinearMap (nonZeroDivisors R) M m]
Tag 0AVC, a lemma
Tag 0AVC in the Stacks Project.
reflexiveHull_eq_iInf_localization_mod_torsion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 1597. References: EGA 0 (23.2.9), “special case”.
Stacks Tag 0AVC. Let
Rbe a Noetherian normal domain andMa finiteR-module. Inside the generic fibre, the reflexive hullM⁎⁎is the intersection over height-one primespofM_p / (M_p)_tors, and this is also the intersection of(M / M_tors)_p.Membership in the three submodules is written elementwise, with the first condition using the canonical localization of the evaluation map
M → M⁎⁎.
theorem reflexiveHull_eq_iInf_localization_mod_torsion
{R : Type u} [CommRing R] [IsDomain R] [IsNoetherianRing R] [IsIntegrallyClosed R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] :
∀ x : LocalizedModule (nonZeroDivisors R) M,
(((IsLocalizedModule.map (nonZeroDivisors R)
(LocalizedModule.mkLinearMap (nonZeroDivisors R) M)
(LocalizedModule.mkLinearMap (nonZeroDivisors R)
(Module.Dual R (Module.Dual R M)))
(Module.Dual.eval R M)) x ∈
LinearMap.range (LocalizedModule.mkLinearMap (nonZeroDivisors R)
(Module.Dual R (Module.Dual R M)))) ↔
∀ (p : Ideal R) (_ : p.IsPrime), p.height = 1 →
∃ (m : M) (s : R), s ∉ p ∧
s • x = LocalizedModule.mkLinearMap (nonZeroDivisors R) M m) ∧
((∀ (p : Ideal R) (_ : p.IsPrime), p.height = 1 →
∃ (m : M) (s : R), s ∉ p ∧
s • x = LocalizedModule.mkLinearMap (nonZeroDivisors R) M m) ↔
∀ (p : Ideal R) (_ : p.IsPrime), p.height = 1 →
∃ (q : M ⧸ Submodule.torsion R M) (s : R), s ∉ p ∧
s • x = Module.torsionQuotientToGenericFiber R M q)
Tag 0BM4, a lemma
Tag 0BM4 in the Stacks Project.
integralClosure_isReflexive, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/Reflexive.lean, line 1657.
Stacks Tag 0BM4. If
Ais a Noetherian normal domain,Kis its fraction field, andLis a finite extension ofK, then a module-finite integral closure ofAinLis reflexive as anA-module.
theorem integralClosure_isReflexive
(A : Type u) [CommRing A] [IsDomain A] [IsNoetherianRing A] [IsIntegrallyClosed A]
(K : Type v) [Field K] [Algebra A K] [IsFractionRing A K]
(L : Type w) [Field L] [Algebra A L] [Algebra K L] [IsScalarTower A K L]
[FiniteDimensional K L] (hB : Module.Finite A (integralClosure A L)) :
Module.IsReflexive A (integralClosure A L)
Sources
Section15.25 Content ideals#
Section 15.25 of the Stacks Project, Tag 0AS9. 4 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0ASA, a definition
Tag 0ASA in the Stacks Project.
IsContentIdeal, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/ContentIdeal.lean, line 58. References: SGA 3 XXII (5.1.1), “more general”.
I₀is a content ideal ofx: it is the least element ofS_xunder inclusion, i.e.x ∈ I₀ Mand any idealIwithx ∈ I McontainsI₀. Here the submoduleI MofMis spelledI • (⊤ : Submodule A M).Flatness of
Mis not needed to state this, so the predicate is given for an arbitrary module; for a flat module it is exactly the source's definition.
def IsContentIdeal (x : M) (I₀ : Ideal A) : Prop
Tag 0ASB, a lemma
Tag 0ASB in the Stacks Project.
contentIdeal_fg, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/ContentIdeal.lean, line 95.
Stacks Tag 0ASB. If a content ideal
I₀ofxexists, thenI₀is finitely generated.The source states this for a flat module
M, but flatness is never used: the content ideal is by definition the least idealIwithx ∈ I M, andx ∈ I₀ Malready exhibitsxinsideJ Mfor some finitely generatedJ ≤ I₀, whenceJ = I₀by minimality. The hypothesis is therefore dropped, which only strengthens the statement.
theorem contentIdeal_fg {A : Type*} [CommRing A] {M : Type*} [AddCommGroup M] [Module A M]
(x : M) (I₀ : Ideal A) (h : IsContentIdeal x I₀) :
I₀.FG
Tag 0ASC, a lemma
Tag 0ASC in the Stacks Project.
isContentIdeal_map_of_injective_mapQ_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/ContentIdeal.lean, line 279.
Stacks Tag 0ASC. A map between flat modules over a local ring which is injective modulo the maximal ideal preserves content ideals of elements.
theorem isContentIdeal_map_of_injective_mapQ_maximalIdeal
{A : Type*} [CommRing A] [IsLocalRing A]
{M N : Type*} [AddCommGroup M] [Module A M] [Module.Flat A M]
[AddCommGroup N] [Module A N] [Module.Flat A N]
(u : M →ₗ[A] N)
(hu : Function.Injective
(Submodule.mapQ (maximalIdeal A • (⊤ : Submodule A M))
(maximalIdeal A • (⊤ : Submodule A N)) u
(Submodule.smul_top_le_comap_smul_top (maximalIdeal A) u)))
{x : M} {I : Ideal A} (hx : IsContentIdeal x I) :
IsContentIdeal (u x) I
Tag 0ASD, a lemma
Tag 0ASD in the Stacks Project.
exists_isContentIdeal_of_flat_isMittagLeffler, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Module/ContentIdeal.lean, line 445.
Stacks Tag 0ASD. Every element of a flat Mittag-Leffler module has a content ideal.
theorem exists_isContentIdeal_of_flat_isMittagLeffler
{A : Type u} [CommRing A]
{M : Type v} [AddCommGroup M] [Module A M]
[Module.Flat A M]
(hM : IsMittagLeffler.{u, max u v, v, max u v, max u v} A M) (x : M) :
∃ I : Ideal A, IsContentIdeal x I
Sources
Section15.26 Flatness and finiteness conditions#
Section 15.26 of the Stacks Project, Tag 054A. 7 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 053A, a lemma
Tag 053A in the Stacks Project.
Module.finitePresentation_of_flat_of_localized, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Finiteness.lean, line 299.
Stacks Tag 053A. Let
S = R[x₁, …, x_n]and letMbe a finiteS-module which is flat overR. If finitely many prime localizations jointly detect elements ofRandMis finitely presented overSafter localizing at every prime ofR, thenMis finitely presented overS.
theorem Module.finitePresentation_of_flat_of_localized
{R : Type u} [CommRing R] {n : ℕ} {M : Type v} [AddCommGroup M]
[Module (MvPolynomial (Fin n) R) M] [Module R M]
[IsScalarTower R (MvPolynomial (Fin n) R) M]
(hprimes : HasFiniteDetectingPrimes R)
[Module.Finite (MvPolynomial (Fin n) R) M] [Module.Flat R M]
(hlocal : ∀ p : PrimeSpectrum R,
Module.FinitePresentation
(Localization (Algebra.algebraMapSubmonoid (MvPolynomial (Fin n) R)
p.asIdeal.primeCompl))
(LocalizedModule (Algebra.algebraMapSubmonoid (MvPolynomial (Fin n) R)
p.asIdeal.primeCompl) M)) :
Module.FinitePresentation (MvPolynomial (Fin n) R) M
Tag 053B, a lemma
Tag 053B in the Stacks Project.
Algebra.FinitePresentation.of_flat_of_localized, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Finiteness.lean, line 358.
Stacks Tag 053B. Let
R → Sbe a flat ring map of finite type. Suppose finitely many prime localizations jointly detect elements ofR, and that for every primepofRthe localization ofSatpis finitely presented overRlocalized atp. ThenSis finitely presented overR.
theorem Algebra.FinitePresentation.of_flat_of_localized
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S]
(hprimes : HasFiniteDetectingPrimes R)
[Algebra.FiniteType R S] [Module.Flat R S]
(hlocal : ∀ p : PrimeSpectrum R,
Algebra.FinitePresentation (Localization.AtPrime p.asIdeal)
(Localization (Algebra.algebraMapSubmonoid S p.asIdeal.primeCompl))) :
Algebra.FinitePresentation R S
Tag 053C, a lemma
Tag 053C in the Stacks Project.
finitePresentation_of_finite_flat_of_isLocalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/GradedFinitePresentation.lean, line 1056. References: EGA IV (11.2.9.4), “special case”; SGA 6 VI (1.6), “partial”.
Stacks Tag 053C. Let
Rbe a local ring and letS = MvPolynomial (Fin n) R = R[x_1, ..., x_n]be the graded polynomial algebra with positive weightsw_i = deg(x_i) > 0, graded byweightedHomogeneousSubmodule R w. LetMbe a gradedS-module, encoded by a family ofR-submodules𝓜 : ℤ → Submodule R Mtogether with a compatible graded scalar multiplication and a direct-sum decomposition. IfMis finite as anS-module and flat as anR-module, thenMis finitely presented as anS-module.
theorem finitePresentation_of_finite_flat_of_isLocalRing
(R : Type*) [CommRing R] [IsLocalRing R]
(n : ℕ) (w : Fin n → ℤ) (hw : ∀ i, 0 < w i)
(M : Type*) [AddCommGroup M] [Module (MvPolynomial (Fin n) R) M]
-- `R` acts on `M` through the structure map `R → S` compatibly
[Module R M] [IsScalarTower R (MvPolynomial (Fin n) R) M]
-- the grading on `M` over `ℤ`, as a family of `R`-submodules
(𝓜 : ℤ → Submodule R M)
[SetLike.GradedSMul (weightedHomogeneousSubmodule R w) 𝓜]
[DirectSum.Decomposition 𝓜]
-- `M` is finite as an `S`-module
[Module.Finite (MvPolynomial (Fin n) R) M]
-- `M` is flat as an `R`-module
[Module.Flat R M] :
Module.FinitePresentation (MvPolynomial (Fin n) R) M
Tag 053D, a lemma
Tag 053D in the Stacks Project.
finitePresentation_of_flat_of_finiteType_of_finite_degreeZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Finiteness.lean, line 797. References: EGA IV (11.2.9.4), “Module clause”.
Stacks Tag 053D. Let
S = ⨁_d 𝒜 dbe a nonnegatively gradedR-algebra of finite type whose degree-zero part is finite overR, and suppose a finite family of prime localizations jointly detects elements ofR. Then anR-flatSis finitely presented as anR-algebra, and every finite gradedS-module which is flat overRis finitely presented as anS-module.
theorem finitePresentation_of_flat_of_finiteType_of_finite_degreeZero
{R : Type u} {S : Type v} {M : Type w} [CommRing R] [CommRing S]
[AddCommGroup M] [Algebra R S] [Module S M] [Module R M] [IsScalarTower R S M]
(𝒜 : ℕ → Submodule R S) [GradedAlgebra 𝒜]
(ℳ : ℤ → Submodule R M) [SetLike.GradedSMul 𝒜 ℳ] [DirectSum.Decomposition ℳ]
[Algebra.FiniteType R S] [Module.Finite R (𝒜 0)]
(hprimes : HasFiniteDetectingPrimes R) :
(Module.Flat R S → Algebra.FinitePresentation R S) ∧
(Module.Flat R M → Module.Finite S M → Module.FinitePresentation S M)
Tag 05GS, a remark
Tag 05GS in the Stacks Project.
hasFiniteDetectingPrimes_of_standard_conditions, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Finiteness.lean, line 1297.
Stacks Tag 05GS. Let
Rbe a commutative ring. IfRis local, Noetherian, a domain, reduced with finitely many minimal primes, or has finitely many weakly associated primes, then finitely many prime localizations jointly detect elements ofR, so that Tags 053A, 053B and 053D apply toR.
theorem hasFiniteDetectingPrimes_of_standard_conditions
{R : Type u} [CommRing R]
(h : IsLocalRing R ∨ IsNoetherianRing R ∨ IsDomain R ∨
(IsReduced R ∧ (minimalPrimes R).Finite) ∨
{p : Ideal R | ∃ x : R, p ∈ (R ∙ x).annihilator.minimalPrimes}.Finite) :
HasFiniteDetectingPrimes R
Tag 053E, a lemma
Tag 053E in the Stacks Project.
finitePresentation_of_flat_of_finiteType_of_valuationRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Finiteness.lean, line 1174.
Stacks Tag 053E (Nagata). Let
Abe a valuation ring,BanA-algebra of finite type, andMaB-module. IfBis flat overA, thenBis finitely presented as anA-algebra. IfMis finite overBand flat overA, thenMis finitely presented as aB-module.
theorem finitePresentation_of_flat_of_finiteType_of_valuationRing
{A : Type u} {B : Type v} {M : Type w} [CommRing A] [IsDomain A] [ValuationRing A]
[CommRing B] [Algebra A B] [Algebra.FiniteType A B] [AddCommGroup M] [Module B M]
[Module A M] [IsScalarTower A B M] :
(Module.Flat A B → Algebra.FinitePresentation A B) ∧
(Module.Flat A M → Module.Finite B M → Module.FinitePresentation B M)
Tag 0GSE, a lemma
Tag 0GSE in the Stacks Project.
essentiallyOfFinitePresentation_and_finitePresentation_of_flat_of_valuationRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Finiteness.lean, line 1229.
Stacks Tag 0GSE. Let
Abe a valuation ring,Ban essentially-of-finite-typeA-algebra, andMaB-module. IfBis flat overA, thenA → Bis essentially of finite presentation. IfMis finite overBand flat overA, thenMis finitely presented overB.
theorem essentiallyOfFinitePresentation_and_finitePresentation_of_flat_of_valuationRing
{A : Type u} {B : Type v} {M : Type w} [CommRing A] [IsDomain A] [ValuationRing A]
[CommRing B] [Algebra A B] [Algebra.EssFiniteType A B] [AddCommGroup M] [Module B M]
[Module A M] [IsScalarTower A B M] :
(Module.Flat A B → (algebraMap A B).EssentiallyOfFinitePresentation) ∧
(Module.Flat A M → Module.Finite B M → Module.FinitePresentation B M)
Sources
Section15.27 Blowing up and flatness#
Section 15.27 of the Stacks Project, Tag 0535. 5 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 053H, a definition
Tag 053H in the Stacks Project.
strictTransform, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Blowup/StrictTransform.lean, line 45.
The strict transform of an
R-moduleMalong the affine blowup algebraR → R[I/a]: the scalar extensionR[I/a] ⊗[R] M, modulo the elements annihilated by some power of the image ofa.
noncomputable def strictTransform (I : Ideal R) (a : R) [Fact (a ∈ I)]
(M : Type v) [AddCommGroup M] [Module R M]
Tag 053I, a lemma
Tag 053I in the Stacks Project.
Stacks.Flatness.BlowupFlattening.stacks053I, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/BlowupFlattenAssembly.lean, line 1046.
Stacks Tag 053I: flattening by blowing up. Let
(R, 𝔪)be a local domain with fraction fieldKand𝔪 ≠ 0, letSbe a finite typeR-algebra, letMbe a finiteS-module and letA ⊆ Kbe a valuation ring dominatingR. Then there is an admissible affine blowup chartR[I/a]— soI ⊆ 𝔪is finitely generated, the fibre ring ofR → R[I/a]at𝔪is nonzero andAhas center onR[I/a]— on which the strict transform ofSis flat and of finite presentation overR[I/a]and the strict transform ofMis flat overR[I/a]and finitely presented over the strict transform ofS.The polynomial case is
Stacks.Flatness.BlowupFlattening.exists_admissiblePair_mvPolynomial. The reduction to it is the source's first step: writeSas a quotient ofP = R[x_1, …, x_n]and apply the polynomial case to theP-moduleN = S ⊕ M. The strict transform ofNis the product of the strict transforms ofSand ofM(Stacks.Flatness.BlowupFlattening.prodLinearEquiv, the version ofstrictTransform.prodEquivthat is linear over the strict transform ofP), so flatness and finite presentation of each summand follow fromModule.Flat.prod_iffandModule.FinitePresentation.prod_iff. Finite presentation of the strict transform ofSas anR[I/a]-algebra is thenAlgebra.FinitePresentation.of_surjective_of_module_finitePresentation, and finite presentation of the strict transform ofMover the strict transform ofSis Stacks Tag 0561,Module.FinitePresentation.of_restrictScalars_of_finiteType.The statement deviates from the source in two ways: the hypothesis
𝔪 ≠ 0, without which the conclusion is unsatisfiable, and clause (4) being read overR[I/a]rather than overR.
theorem stacks053I (hdom : Dominates R A) (hm : IsLocalRing.maximalIdeal R ≠ ⊥) (S : Type w)
[CommRing S] [Algebra R S] [Algebra.FiniteType R S] (M : Type uM) [AddCommGroup M]
[Module S M] [Module R M] [IsScalarTower R S M] [Module.Finite S M] :
Stacks053IConclusion R A S M
Tag 0CZM, a lemma
Tag 0CZM in the Stacks Project.
fittingIdeal_strictTransform_affineBlowup_eq_top, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Blowup.lean, line 182.
Stacks Tag 0CZM. Let
Mbe a finite module over a commutative ringR, and letIbe itskth Fitting ideal. On the affine blowup chartR[I/a]associated to anya ∈ I, thekth Fitting ideal of the strict transform ofM— the quotient ofR[I/a] ⊗[R] Mby itsa-power torsion — is the unit ideal.
theorem fittingIdeal_strictTransform_affineBlowup_eq_top
{R : Type u} [CommRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M]
(k : ℕ) (a : R) (ha : a ∈ fittingIdeal (R := R) (M := M) (k : ℤ))
(S : Type w) [CommRing S] [Algebra R S] [IsLocalization.Away a S] :
let I := fittingIdeal (R := R) (M := M) (k : ℤ)
let R' := affineBlowupAlgebra I a S
let M' := (R' ⊗[R] M) ⧸
Ideal.primaryComponent (R' ⊗[R] M)
(Ideal.span {algebraMap R R' a})
fittingIdeal (R := R') (M := M') (k : ℤ) = ⊤
Tag 0CZN, a lemma
Tag 0CZN in the Stacks Project.
isFiniteLocallyFreeOfRank_strictTransform_affineBlowup, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Blowup.lean, line 306.
Stacks Tag 0CZN. Let
Mbe a finite module over a commutative ringR, and letIbe itskth Fitting ideal. Suppose that the localization ofMat every prime outsideV(I)is free of rankk. Then the strict transform ofMon the affine blowup chartR[I/a], for anya ∈ I, is finite locally free of rankk.
theorem isFiniteLocallyFreeOfRank_strictTransform_affineBlowup
{R : Type u} [CommRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M]
(k : ℕ)
(hfree : ∀ (p : Ideal R) [p.IsPrime],
¬ fittingIdeal (R := R) (M := M) (k : ℤ) ≤ p →
Nonempty ((Fin k → Localization.AtPrime p) ≃ₗ[Localization.AtPrime p]
LocalizedModule.AtPrime p M))
(a : R) (ha : a ∈ fittingIdeal (R := R) (M := M) (k : ℤ))
(S : Type w) [CommRing S] [Algebra R S] [IsLocalization.Away a S] :
let I := fittingIdeal (R := R) (M := M) (k : ℤ)
let R' := affineBlowupAlgebra I a S
let M' := (R' ⊗[R] M) ⧸
Ideal.primaryComponent (R' ⊗[R] M)
(Ideal.span {algebraMap R R' a})
Module.IsFiniteLocallyFreeOfRank R' M' k
Tag 0BBJ, a lemma
Tag 0BBJ in the Stacks Project.
exists_fg_ideal_strictTransform_isFiniteLocallyFreeOfRank, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/Blowup.lean, line 616.
Stacks Tag 0BBJ. Let
Mbe a finite module over a commutative ringR. If the localization ofMaway fromfis finite locally free of rankr, then there is a finitely generated idealIwith the same vanishing locus asfsuch that, on every affine blowup chartR[I/a]witha ∈ I, the strict transform ofMis finite locally free of rankr.
theorem exists_fg_ideal_strictTransform_isFiniteLocallyFreeOfRank
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M]
(f : R) (r : ℕ)
(hf : Module.IsFiniteLocallyFreeOfRank (Localization.Away f)
(LocalizedModule.Away f M) r) :
∃ I : Ideal R, I.FG ∧
PrimeSpectrum.zeroLocus ({f} : Set R) = PrimeSpectrum.zeroLocus (I : Set R) ∧
∀ a : I,
let _ : Fact ((a : R) ∈ I) := ⟨a.property⟩
Module.IsFiniteLocallyFreeOfRank (Blowup I a) (strictTransform I a M) r
Sources
Section15.28 Completion and flatness#
Section 15.28 of the Stacks Project, Tag 06LD. 5 tags here are carried by 5 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 05BC, a lemma
Tag 05BC in the Stacks Project.
AdicCompletion.universallyInjective_directSumToPi, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AdicCompletion/Flat/DirectSumToPi.lean, line 415.
Let
Rbe a Noetherian ring that isI-adically complete. Then the canonical map(⊕_{α ∈ A} R)^∧ → ∏_{α ∈ A} Rfrom theI-adic completion of a direct sum of copies ofRinto the product of copies ofRis universally injective.
theorem AdicCompletion.universallyInjective_directSumToPi
(R : Type u) [CommRing R] (I : Ideal R) (A : Type v)
[IsNoetherianRing R] [IsAdicComplete I R] :
UniversallyInjective (AdicCompletion.directSumToPi R I A)
Tag 06LE, a lemma
Tag 06LE in the Stacks Project.
AdicCompletion.flat_directSum, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AdicCompletion/Flat/FlatCompletion.lean, line 202. References: EGA 0 (7.3.3), “more general”; SGA 1 IV (3.1), “more general”.
For a Noetherian ring
Rand an idealI, theI-adic completion(⊕_{α ∈ A} R)^∧of an arbitrary direct sum of copies ofRis a flatR-module.
theorem AdicCompletion.flat_directSum
(R : Type u) [CommRing R] (I : Ideal R) (A : Type v) [IsNoetherianRing R] :
Module.Flat R (AdicCompletion I (DirectSum A (fun _ : A => R)))
Tag 0911, a lemma
Tag 0911 in the Stacks Project.
tor_pro_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Homology/Tor/ProZero.lean, line 204.
Let
Abe a Noetherian ring,I ⊆ Aan ideal, andMa finiteA-module. Then for everyp > 0there existsc > 0such that, for alln ≥ c, the mapTor_p^A(M, A/I^n) → Tor_p^A(M, A/I^{n-c})induced by the canonical surjectionA/I^n ↠ A/I^{n-c}is the zero map.
theorem tor_pro_zero
[IsNoetherianRing A]
(M : ModuleCat A) [Module.Finite A M]
{p : ℕ} (hp : 0 < p) :
∃ c : ℕ, 0 < c ∧ ∀ n : ℕ, c ≤ n →
((Tor (ModuleCat A) p).obj M).map
(torProZeroTransition I (Nat.sub_le n c)) = 0
Tag 0912, a lemma
Tag 0912 in the Stacks Project.
flat_limit_and_tensor_limit_of_flat_quotients, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AdicCompletion/Flat/TensorLimit.lean, line 367.
Let
Abe a Noetherian ring andI ⊆ Aan ideal. Let(M_n)be an inverse system ofA-modules such that eachM_nis flat overA ⧸ Iⁿ(compatibly with itsA-module structure) and each transition mapM_{n+1} → M_nis surjective. ThenM = lim M_nis flat overA, and for every finiteA-moduleQthe canonical comparison mapQ ⊗_A lim M_n → lim (Q ⊗_A M_n)is an isomorphism.
theorem flat_limit_and_tensor_limit_of_flat_quotients
{A : Type u} [CommRing A] [IsNoetherianRing A] (I : Ideal A)
(M : ℕᵒᵖ ⥤ ModuleCat.{u} A)
(quotientModule : ∀ n : ℕ, Module (A ⧸ I ^ n) (M.obj (.op n)))
(hscalar : ∀ n : ℕ, letI := quotientModule n
IsScalarTower A (A ⧸ I ^ n) (M.obj (.op n)))
(hflat : ∀ n : ℕ, letI := quotientModule n
Module.Flat (A ⧸ I ^ n) (M.obj (.op n)))
(hsurjective : ∀ n : ℕ, Function.Surjective
(M.map (homOfLE (Nat.le_succ n)).op)) :
Module.Flat A (limit M : ModuleCat.{u} A) ∧
∀ (Q : ModuleCat.{u} A), Module.Finite A Q →
IsIso (limit.post M
((MonoidalCategory.tensoringLeft (ModuleCat.{u} A)).obj Q))
Tag 0AGW, a lemma
Tag 0AGW in the Stacks Project.
AdicCompletion.isNoetherianRing_and_flat_of_flat_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/AdicCompletion/Flat/FlatCompletion.lean, line 489. References: EGA 0 (10.2.3), “forward implication”.
Let
Rbe a commutative ring,I ⊆ Ra finitely generated ideal andManR-module. IfR/Iis Noetherian,M/IMis flat overR/IandTor₁ᴿ(M, R/I) = 0, then theI-adic completionR^∧is a Noetherian ring and theI-adic completionM^∧is flat overR^∧.
theorem AdicCompletion.isNoetherianRing_and_flat_of_flat_quotient
{R : Type u} {M : Type v} [CommRing R] [AddCommGroup M] [Module R M]
(I : Ideal R) (hI : I.FG) (hRI : IsNoetherianRing (R ⧸ I))
(hflat : Module.Flat (R ⧸ I) (M ⧸ (I • (⊤ : Submodule R M))))
(htor : IsZero
(((Tor (ModuleCat.{max u v} (ULift.{v} R)) 1).obj
(ModuleCat.of (ULift.{v} R) (ULift.{u} M))).obj
(ModuleCat.of (ULift.{v} R) (ULift.{v} (R ⧸ I))))) :
IsNoetherianRing (AdicCompletion I R) ∧
Module.Flat (AdicCompletion I R) (AdicCompletion I M)
Sources
Section15.29 The Koszul complex#
Section 15.29 of the Stacks Project, Tag 0621. 13 tags here are carried by 13 declarations of the repository (all in StacksFrontier) and 4 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0622, a definition
Tag 0622 in the Stacks Project.
Koszul.differentialGradedAlgebra, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/DifferentialGradedAlgebra.lean, line 138. References: EGA III (1.1.1); SGA 3 III (4.6.1), “definition”; SGA 6 VII (1.1), “more general”.
The Koszul differential graded algebra
K•(φ): its underlying graded algebra is the exterior algebra⋀[R] E, and its differential is contraction byφ.The chain complex obtained from its homogeneous pieces is
Koszul.complex φ.
noncomputable def differentialGradedAlgebra (φ : E →ₗ[R] R) :
HomologicalDifferentialGradedExteriorAlgebra φ
Tag 0623, a definition
Tag 0623 in the Stacks Project.
Koszul.seqDual, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Defs.lean, line 158.
The functional
Rʳ →ₗ[R] Rattached to a sequencef₁, …, f_rof elements ofR, namelyv ↦ ∑ i, vᵢ * fᵢ; it sends thei-th standard basis vector tofᵢ.
noncomputable def seqDual (f : Fin r → R) : Module.Dual R (Fin r → R)
Koszul.seqComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Defs.lean, line 185. References: EGA III (1.1.1).
The Koszul complex
K_•(f₁, …, f_r)of a sequence of elements ofR: the Koszul complex of the functionalKoszul.seqDual fonRʳ.
noncomputable def seqComplex (f : Fin r → R) : ChainComplex (ModuleCat.{u} R) ℕ
Tag 0624, a lemma
Tag 0624 in the Stacks Project.
koszul_map_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Functoriality.lean, line 65. References: EGA III (1.1.5).
Functoriality of the Koszul complex.
Let
φ : E → Randφ' : E' → RbeR-module maps and letψ : E → E'be anR-module map withφ' ∘ ψ = φ. Then the induced graded-algebra homomorphism∧(ψ)commutes with the Koszul differentials, i.e.∧(ψ) ∘ d = d' ∘ ∧(ψ), whered = Koszul.contraction φandd' = Koszul.contraction φ'. Together with the fact that∧(ψ) = ExteriorAlgebra.map ψis automatically a unital gradedR-algebra homomorphism, this exhibits∧(ψ)as a homomorphism of differential gradedR-algebrasK_•(φ) → K_•(φ').
theorem koszul_map_comm (φ : Module.Dual R E) (φ' : Module.Dual R E') (ψ : E →ₗ[R] E')
(h : φ'.comp ψ = φ) (x : ExteriorAlgebra R E) :
exteriorMap ψ (Koszul.contraction φ x) = Koszul.contraction φ' (exteriorMap ψ x)
Tag 0625, a lemma
Tag 0625 in the Stacks Project.
Koszul.seqComplex_mulVec_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Functoriality.lean, line 116.
Change of basis for a Koszul complex. If
xis an invertibler × rmatrix overR, then the Koszul complex offis isomorphic to the Koszul complex of the sequencei ↦ ∑ j, x i j * f j.
public theorem seqComplex_mulVec_iso {R : Type u} [CommRing R] {r : ℕ}
(f : Fin r → R) (x : Matrix (Fin r) (Fin r) R)
(hx : IsUnit x) :
Nonempty (Koszul.seqComplex f ≅ Koszul.seqComplex (Matrix.mulVec x f))
Tag 0626, a lemma
Tag 0626 in the Stacks Project.
koszul_scalar_eq_homotopy, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Functoriality.lean, line 93. References: EGA III (1.1.7), “more general”.
Multiplication by
φ eis null-homotopic on the Koszul complex. Letφ : E → Rbe anR-module map, lete ∈ E, and setf = φ e. AsR-linear endomorphisms ofK_•(φ) = ∧(E),f = d ∘ e + e ∘ d, i.e. for everya,f • a = d (e ∧ a) + e ∧ d a, wheree ∧ -is left multiplication byι R ein the exterior algebra.
theorem koszul_scalar_eq_homotopy (φ : Module.Dual R E) (e : E)
(a : ExteriorAlgebra R E) :
φ e • a =
Koszul.contraction φ (ExteriorAlgebra.ι R e * a)
+ ExteriorAlgebra.ι R e * Koszul.contraction φ a
Tag 0663, a lemma
Tag 0663 in the Stacks Project.
Koszul.koszulSeq_smul_nullHomotopic_and_span_le_annihilator, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Homotopy.lean, line 149.
Multiplication by each member of a finite sequence is null-homotopic on its Koszul complex, and the ideal generated by the sequence annihilates every Koszul homology module.
public theorem koszulSeq_smul_nullHomotopic_and_span_le_annihilator
{R : Type*} [CommRing R] {r : ℕ} (f : Fin r → R) :
(∀ i, Nonempty (Homotopy (f i • 𝟙 (Koszul.seqComplex f)) 0)) ∧
∀ n, Ideal.span (Set.range f) ≤
Module.annihilator R ((Koszul.seqComplex f).homology n)
Tag 0627, an equation
Tag 0627 in the Stacks Project.
Declarations registered for the tag:
HomologicalComplex.homotopyCofiber.d_fstXregistered withadd_to_stacksin StacksFrontier/RingTheory/Koszul/Cone.lean, line 647 (StacksFrontier): “first projection of the mapping-cone differential”.HomologicalComplex.homotopyCofiber.d_sndXregistered withadd_to_stacksin StacksFrontier/RingTheory/Koszul/Cone.lean, line 649 (StacksFrontier): “second projection of the mapping-cone differential”.HomologicalComplex.homotopyCofiber.inlX_dregistered withadd_to_stacksin StacksFrontier/RingTheory/Koszul/Cone.lean, line 651 (StacksFrontier): “restriction to the first summand”.HomologicalComplex.homotopyCofiber.inrX_dregistered withadd_to_stacksin StacksFrontier/RingTheory/Koszul/Cone.lean, line 653 (StacksFrontier): “restriction to the second summand”.
Tag 0628, a lemma
Tag 0628 in the Stacks Project.
Stacks.MappingCone.NatIndexed.koszulComplex_phiPrime_iso_cone, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Cone.lean, line 613.
The cone of multiplication by
fon the Koszul complex ofphiis isomorphic, as a chain complex ofR-modules, to the Koszul complex ofphi' : E ⊕ R → R, by an isomorphism with the prescribed componentsΘₙ: the inclusion on the⋀ⁿ Esummand and wedging withe₀ = (0,1)on the⋀^{n-1} Esummand.
theorem koszulComplex_phiPrime_iso_cone (φ : Module.Dual R E) (f : R) :
∃ Θ : coneComplex (Koszul.complex φ) (Koszul.complex φ) (mulByF (Koszul.complex φ) f) ≅
Koszul.complex (phiPrime φ f),
(∀ x : (⋀[R]^0 E),
(Θ.hom.f 0).hom (show ((Koszul.complex φ).X 0 : Type (max u v)) from x) = inclPow 0 x) ∧
(∀ (n : ℕ) (b : (⋀[R]^(n+1) E)) (a : (⋀[R]^n E)),
(Θ.hom.f (n+1)).hom
(show ((Koszul.complex φ).X (n+1) × (Koszul.complex φ).X n : Type (max u v))
from (b, a))
= inclPow (n+1) b + wedgeE0Pow (n+1) a)
Tag 0629, a lemma
Tag 0629 in the Stacks Project.
Koszul.seqComplex_snoc_iso_cone, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Cone.lean, line 742.
The Koszul complex of a sequence obtained by appending
ais isomorphic to the cone of multiplication byaon the Koszul complex of the original sequence.
public theorem seqComplex_snoc_iso_cone {R : Type u} [CommRing R] {r : ℕ}
(f : Fin r → R) (a : R) :
Nonempty
(Koszul.seqComplex (Fin.snoc f a) ≅
Stacks.MappingCone.NatIndexed.coneComplex (Koszul.seqComplex f) (Koszul.seqComplex f)
(Stacks.MappingCone.NatIndexed.mulByF (Koszul.seqComplex f) a))
Tag 062A, a lemma
Tag 062A in the Stacks Project.
Koszul.exists_homotopyEquiv_mappingCone_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/HomotopyCofiber.lean, line 81.
The cone of a composite of two endomorphisms is homotopy equivalent to the cone of a map from the shifted cone of the first endomorphism to the cone of the second.
theorem exists_homotopyEquiv_mappingCone_comp
{C : Type u} [Category.{v} C] [Preadditive C] [HasZeroObject C]
[HasBinaryBiproducts C]
(A : CochainComplex C ℤ) (f g : A ⟶ A) :
∃ (φ : (CochainComplex.mappingCone f)⟦(-1 : ℤ)⟧ ⟶
CochainComplex.mappingCone g),
Nonempty
(HomotopyEquiv (CochainComplex.mappingCone (g ≫ f))
(CochainComplex.mappingCone φ))
Tag 062B, a lemma
Tag 062B in the Stacks Project.
Koszul.exists_homotopyEquiv_koszulComplex_coprod_mul_mappingCone, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/HomotopyCofiber.lean, line 529.
After adjoining
f * gto a linear functional, its Koszul complex is homotopy equivalent to the mapping cone of a map from the shifted complex obtained by adjoiningfto the complex obtained by adjoiningg.
theorem exists_homotopyEquiv_koszulComplex_coprod_mul_mappingCone
{R : Type u} [CommRing R] {E : Type v} [AddCommGroup E] [Module R E]
(φ : E →ₗ[R] R) (f g : R) :
let K (a : R) : CochainComplex (ModuleCat.{max u v} R) ℤ :=
(ComplexShape.embeddingDownNat.extendFunctor (ModuleCat.{max u v} R)).obj
(Koszul.complex (φ.coprod (a • LinearMap.id)))
∃ ψ : (K f)⟦(-1 : ℤ)⟧ ⟶ K g,
Nonempty (HomotopyEquiv (K (f * g)) (CochainComplex.mappingCone ψ))
Tag 062C, a lemma
Tag 062C in the Stacks Project.
Koszul.exists_homotopyEquiv_koszulComplex_snoc_mul_mappingCone, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/HomotopyCofiber.lean, line 597.
The Koszul complex on a finite sequence ending in
f * gis homotopy equivalent to the mapping cone of a map from the shifted complex ending infto the complex ending ing.
theorem exists_homotopyEquiv_koszulComplex_snoc_mul_mappingCone
{R : Type u} [CommRing R] {n : ℕ} (s : Fin n → R) (f g : R) :
let K (a : R) : CochainComplex (ModuleCat.{u} R) ℤ :=
(ComplexShape.embeddingDownNat.extendFunctor (ModuleCat.{u} R)).obj
(Koszul.complex (Fintype.linearCombination R (Fin.snoc s a)))
∃ ψ : (K f)⟦(-1 : ℤ)⟧ ⟶ K g,
Nonempty (HomotopyEquiv (K (f * g)) (CochainComplex.mappingCone ψ))
Tag 0664, a lemma
Tag 0664 in the Stacks Project.
Koszul.seqComplex_append_iso_totTensor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Append.lean, line 607. References: EGA III (1.1.1), “(f)”.
Stacks Tag 0664. The Koszul complex on the concatenation of two sequences
f_1, ..., f_randg_1, ..., g_s(lengthr + s) is isomorphic, as a chain complex ofR-modules, to the total complex of the tensor product of the Koszul complexes onfand ong; seeseqComplexAppendIsoTotTensorfor the isomorphism itself.
theorem seqComplex_append_iso_totTensor {r s : ℕ} (f : Fin r → R) (g : Fin s → R) :
Nonempty
(seqComplex (Fin.append f g) ≅ totTensor (seqComplex f) (seqComplex g))
Sources
Section15.30 The extended alternating Čech complex#
Section 15.30 of the Stacks Project, Tag 0G6F. 6 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G6G, a lemma
Tag 0G6G in the Stacks Project.
ExtendedAlternatingCech.cechd_comp_cechd, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/Extended.lean, line 404.
Stacks 0G6G. For consecutive integer degrees
i, j, k, the compositiond_{j,k} ∘ d_{i,j}of the differentials of the extended alternating Čech complex vanishes.
theorem cechd_comp_cechd (i j k : ℤ) (hij : (ComplexShape.up ℤ).Rel i j)
(hjk : (ComplexShape.up ℤ).Rel j k) :
CategoryStruct.comp (cechd f M i j) (cechd f M j k) = 0
Tag 0G6H, a lemma
Tag 0G6H in the Stacks Project.
ExtendedCech.termTensorEquiv_comm_d, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/Tensor.lean, line 199.
Stacks Lemma 15.30.2 (Tag 0G6H). The degreewise canonical isomorphisms
termTensorEquiv(induced byM ⊗_R R_g ≅ M_g) commute with the Čech differentials, the differential ofM ⊗_R Č•(R)beingid_M ⊗ d_R = LinearMap.lTensor M (Cech.cechD f R p). Together withtermTensorEquivthis exhibits the extended alternating Čech complex ofMasM ⊗_R Č•(R), an isomorphism of cochain complexes ofR-modules.
theorem termTensorEquiv_comm_d (p : ℕ) :
(termTensorEquiv f M (p + 1)).toLinearMap.comp (cechD f M p)
= (LinearMap.lTensor M (cechD f R p)).comp (termTensorEquiv f M p).toLinearMap
Tag 0G6I, a lemma
Tag 0G6I in the Stacks Project.
Stacks.CechBaseChange.exists_cechComplexBaseChange_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/BaseChange.lean, line 504.
Stacks 0G6I. Let
R → Sbe a ring map,g_ithe image off_iinSandN = S ⊗_R M. There is an isomorphism of cochain complexes ofS-modulese : C^•(f; M) ⊗_R S ≅ C^•(g; N)(the target lifted to the universe of the source) whose degree-pcomponent, after lowering the lift, istermBaseChangeS f M S p.
theorem exists_cechComplexBaseChange_iso :
∃ e : cechComplexBaseChange f M S ≅ cechComplexBaseChangeTarget f M S,
∀ p : ℕ, ULift.moduleEquiv.toLinearMap.comp (e.hom.f p).hom =
termBaseChangeS f M S p
Tag 0G6J, a lemma
Tag 0G6J in the Stacks Project.
Stacks.CechContractible.cechComplex_nullHomotopic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/Contractible.lean, line 677.
Stacks 0G6J. If some
f iis a unit inR, then the extended alternating Čech complex ofMis homotopy equivalent to0: the identity chain map is chain homotopic to the zero chain map.
theorem cechComplex_nullHomotopic
(hunit : ∃ i : Fin r, IsUnit (f i)) :
Nonempty (Homotopy (𝟙 (cechComplex f M)) 0)
Tag 0G6K, a lemma
Tag 0G6K in the Stacks Project.
Cech.cechComplex_homology_torsion_support_vanishes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/Cohomology.lean, line 271.
Stacks 0G6K. The cohomology of the extended alternating Čech complex is concentrated in degrees
0, …, r; every chosen element acts locally nilpotently on every cohomology class; its support lies in the common zero locus of the chosen elements; and all cohomology vanishes when an element of their generated ideal acts invertibly on the coefficient module.
theorem cechComplex_homology_torsion_support_vanishes
{R : Type u} [CommRing R] {r : ℕ} (f : Fin r → R)
(M : Type v) [AddCommGroup M] [Module R M] (q : ℤ) :
let K : CochainComplex (ModuleCat.{max u v} R) ℤ :=
(Cech.cechComplex f M).extend ComplexShape.embeddingUpNat
((q < 0 ∨ (r : ℤ) < q) → Subsingleton (K.homology q)) ∧
(∀ (i : Fin r) (x : K.homology q),
∃ n : ℕ, 0 < n ∧ f i ^ n • x = 0) ∧
Module.support R (K.homology q) ⊆
PrimeSpectrum.zeroLocus (Ideal.span (Set.range f) : Set R) ∧
((∃ g ∈ Ideal.span (Set.range f),
IsUnit (algebraMap R (Module.End R M) g)) →
Subsingleton (K.homology q))
Tag 0913, a lemma
Tag 0913 in the Stacks Project.
Cech.cechComplex_isColimit_koszulPowerComplexes, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/KoszulColimit.lean, line 672.
The extended alternating Čech complex of a finite sequence
fis the colimit of the regraded Koszul complexes on its positive powers. The transition maps multiply each standard exterior-basis vector by the product of the entries offindexed by its complement, and the colimit cocone sends the basis vector indexed bysto the localized generator indexed by the complementtofs, with sign(-1) ^ (∑ i ∈ t, (i + 1) + p + r * p).
public theorem cechComplex_isColimit_koszulPowerComplexes
{R : Type u} [CommRing R] {r : ℕ} (f : Fin r → R) :
∃ σ : ∀ n : ℕ,
Koszul.seqComplex (fun i ↦ f i ^ (n + 1)) ⟶
Koszul.seqComplex (fun i ↦ f i ^ (n + 2)),
(∀ (n q : ℕ) (s : Finset (Fin r)) (hs : s.card = q),
(σ n).f q
⟨ExteriorAlgebra.ιMulti R q
(fun k ↦ Pi.single (s.orderEmbOfFin hs k) 1),
Koszul.ιMulti_mem q _⟩ =
(∏ i ∈ sᶜ, f i) •
⟨ExteriorAlgebra.ιMulti R q
(fun k ↦ Pi.single (s.orderEmbOfFin hs k) 1),
Koszul.ιMulti_mem q _⟩) ∧
∃ ι : ∀ n : ℕ, koszulPowerCochainComplex f n ⟶ Cech.cechComplex f R,
∃ hι : ∀ n : ℕ,
(koszulPowerDiagram f σ).map (homOfLE (Nat.le_succ n)) ≫
ι (n + 1) = ι n,
(∀ (n p q : ℕ) (s t : Finset (Fin r)) (hs : s.card = q) (ht : t.card = p)
(hcard : p + q = r) (_ : Disjoint s t) (_ : s ∪ t = Finset.univ),
(ι n).f p
(koszulRegradeHom f n p q hcard
⟨ExteriorAlgebra.ιMulti R q
(fun k ↦ Pi.single (s.orderEmbOfFin hs k) 1),
Koszul.ιMulti_mem q _⟩) =
DirectSum.lof R {w : Finset (Fin r) // w.card = p}
(fun w ↦ Cech.cechMod f R w.1) ⟨t, ht⟩
(LocalizedModule.mk
((-1 : R) ^ ((∑ i ∈ t, (i.val + 1)) + p + r * p))
⟨(∏ i ∈ t, f i) ^ (n + 1), n + 1, rfl⟩)) ∧
Nonempty (IsColimit
({ pt := Cech.cechComplex f R
ι := NatTrans.ofSequence
(F := koszulPowerDiagram f σ)
(G := (Functor.const ℕ).obj (Cech.cechComplex f R)) ι
(fun n ↦ (hι n).trans (Category.comp_id _).symm) } :
Cocone (koszulPowerDiagram f σ)))
Sources
Section15.31 Koszul regular sequences#
Section 15.31 of the Stacks Project, Tag 062D. 17 tags here are carried by 22 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 062E, a definition
Tag 062E in the Stacks Project.
Koszul.IsKoszulRegularOn, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Defs.lean, line 226. The attribute's comment: “(1)”.
A sequence
f₁, …, f_risM-Koszul-regular ifHᵢ(K_•(f) ⊗_R M) = 0for alli ≠ 0.
def IsKoszulRegularOn (f : Fin r → R) (M : Type w) [AddCommGroup M] [Module R M] : Prop
Koszul.IsH1RegularOn, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Defs.lean, line 231. The attribute's comment: “(2)”.
A sequence
f₁, …, f_risM-H₁-regular ifH₁(K_•(f) ⊗_R M) = 0.
def IsH1RegularOn (f : Fin r → R) (M : Type w) [AddCommGroup M] [Module R M] : Prop
Koszul.IsKoszulRegular, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Defs.lean, line 236. The attribute's comment: “(3)”.
A sequence
f₁, …, f_ris Koszul-regular ifHᵢ(K_•(f)) = 0for alli ≠ 0.
def IsKoszulRegular (f : Fin r → R) : Prop
Koszul.IsH1Regular, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Defs.lean, line 241. The attribute's comment: “(4)”.
A sequence
f₁, …, f_risH₁-regular ifH₁(K_•(f)) = 0.
def IsH1Regular (f : Fin r → R) : Prop
Tag 062F, a lemma
Tag 062F in the Stacks Project.
Koszul.isKoszulRegularOn_and_isKoszulRegular_of_regular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 846.
If every term of a finite sequence acts injectively on the quotient of
Mby its predecessors, then the sequence isM-Koszul-regular. In particular, anM-regular sequence isM-Koszul-regular, and a regular sequence inRis Koszul-regular.
theorem isKoszulRegularOn_and_isKoszulRegular_of_regular
{R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M]
{r : ℕ} {f : Fin r → R} :
(RingTheory.Sequence.IsWeaklyRegular M (List.ofFn f) →
Koszul.IsKoszulRegularOn f M) ∧
(RingTheory.Sequence.IsRegular M (List.ofFn f) →
Koszul.IsKoszulRegularOn f M) ∧
(RingTheory.Sequence.IsRegular R (List.ofFn f) →
Koszul.IsKoszulRegular f)
Tag 0CEM, a lemma
Tag 0CEM in the Stacks Project.
Koszul.IsKoszulRegularOn.isH1RegularOn, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 336. The attribute's comment: “(1)”.
If the sequence
f_1, ..., f_risM-Koszul-regular, then it isM-H_1-regular.
theorem IsKoszulRegularOn.isH1RegularOn {f : Fin r → R} {M : Type v} [AddCommGroup M]
[Module R M] (h : IsKoszulRegularOn f M) : IsH1RegularOn f M
Koszul.IsKoszulRegular.isH1Regular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 342. The attribute's comment: “(2)”.
If the sequence
f_1, ..., f_ris Koszul-regular, then it is H_1-regular.
theorem IsKoszulRegular.isH1Regular {f : Fin r → R} (h : IsKoszulRegular f) : IsH1Regular f
Tag 062G, a lemma
Tag 062G in the Stacks Project.
Koszul.isH1RegularOn_and_isKoszulRegularOn_snoc_mul, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 1073.
Adjoining a product to a finite sequence preserves both
M-H₁-regularity andM-Koszul-regularity when adjoining each factor separately has the corresponding property.
theorem isH1RegularOn_and_isKoszulRegularOn_snoc_mul
{R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M]
{n : ℕ} (s : Fin n → R) (f g : R) :
((Koszul.IsH1RegularOn (Fin.snoc s f) M ∧
Koszul.IsH1RegularOn (Fin.snoc s g) M) →
Koszul.IsH1RegularOn (Fin.snoc s (f * g)) M) ∧
((Koszul.IsKoszulRegularOn (Fin.snoc s f) M ∧
Koszul.IsKoszulRegularOn (Fin.snoc s g) M) →
Koszul.IsKoszulRegularOn (Fin.snoc s (f * g)) M)
Tag 062H, a lemma
Tag 062H in the Stacks Project.
KoszulC.isH1Regular_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/FlatBaseChange.lean, line 597. The attribute's comment: “(1)”.
For a flat ring map
φ : R → S, iff_1, ..., f_risM-H_1-regular overR, thenφ(f_1), ..., φ(f_r)is(S ⊗_R M)-H_1-regular overS.
theorem isH1Regular_baseChange {R S : Type*} [CommRing R] [CommRing S] [Algebra R S]
[Module.Flat R S] {r : ℕ} (f : Fin r → R) (M : Type*) [AddCommGroup M] [Module R M]
(hf : IsH1RegularOn f M) :
IsH1RegularOn (R := S) (fun i => algebraMap R S (f i)) (S ⊗[R] M)
KoszulC.isKoszulRegular_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/FlatBaseChange.lean, line 606. The attribute's comment: “(2)”. References: SGA 6 VII (1.5), “special case”; SGA 6 VIII (1.3), “VII 1.5, special case”.
For a flat ring map
φ : R → S, iff_1, ..., f_risM-Koszul-regular overR, thenφ(f_1), ..., φ(f_r)is(S ⊗_R M)-Koszul-regular overS.
theorem isKoszulRegular_baseChange {R S : Type*} [CommRing R] [CommRing S] [Algebra R S]
[Module.Flat R S] {r : ℕ} (f : Fin r → R) (M : Type*) [AddCommGroup M] [Module R M]
(hf : IsKoszulRegularOn f M) :
IsKoszulRegularOn (R := S) (fun i => algebraMap R S (f i)) (S ⊗[R] M)
Tag 062I, a lemma
Tag 062I in the Stacks Project.
Koszul.isQuasiRegular_of_isH1RegularOn, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Quasiregular.lean, line 346.
Stacks 062I. An
M-H₁-regular sequence isM-quasi-regular.
public theorem isQuasiRegular_of_isH1RegularOn
{R : Type u} [CommRing R] {M : Type v} [AddCommGroup M] [Module R M]
{r : ℕ} {f : Fin r → R} (hf : Koszul.IsH1RegularOn f M) :
RingTheory.Sequence.IsQuasiRegular M (List.ofFn f)
Tag 09CC, a lemma
Tag 09CC in the Stacks Project.
Koszul.regular_koszulRegular_h1Regular_quasiRegular_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Quasiregular.lean, line 374. References: EGA 0 (15.1.11), “(1) ⇔ (4), local case”; EGA IV (19.5.1), “a)–c), local case”; EGA 0 (15.2.2), “converse: q-reg ⇒ reg”; EGA 0 (15.1.10), “special case”; EGA 0 (15.1.9), “special case”; EGA IV (16.9.12), “parenthetical”.
Stacks 09CC. Let
Mbe a nonzero finite module over a local Noetherian ringR, and letfbe a finite sequence in the maximal ideal. BeingM-regular,M-Koszul-regular,M-H₁-regular, andM-quasi-regular are equivalent. In particular, the corresponding four notions for the sequence inRare equivalent.
public theorem regular_koszulRegular_h1Regular_quasiRegular_tfae
{R : Type u} [CommRing R] [IsLocalRing R] [IsNoetherianRing R]
{M : Type v} [AddCommGroup M] [Module R M] [Nontrivial M] [Module.Finite R M]
{r : ℕ} (f : Fin r → R) (hf : ∀ i, f i ∈ IsLocalRing.maximalIdeal R) :
List.TFAE
[RingTheory.Sequence.IsRegular M (List.ofFn f),
Koszul.IsKoszulRegularOn f M,
Koszul.IsH1RegularOn f M,
RingTheory.Sequence.IsQuasiRegular M (List.ofFn f)] ∧
List.TFAE
[RingTheory.Sequence.IsRegular R (List.ofFn f),
Koszul.IsKoszulRegular f,
Koszul.IsH1Regular f,
RingTheory.Sequence.IsQuasiRegular R (List.ofFn f)]
Tag 0665, a lemma
Tag 0665 in the Stacks Project.
Koszul.inf_span_eq_smul_span, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 351.
Let
Abe a commutative ring,Ian ideal ofA, andg_1, ..., g_melements ofA. If the images ofg_1, ..., g_minA/Iform anH_1-regular sequence, thenI ⊓ (g_1, ..., g_m) = I (g_1, ..., g_m)as ideals ofA.
theorem inf_span_eq_smul_span (I : Ideal A) (g : Fin m → A)
(hreg : Koszul.IsH1Regular (fun i => Ideal.Quotient.mk I (g i))) :
I ⊓ Ideal.span (Set.range g) = I * Ideal.span (Set.range g)
Tag 0666, a lemma
Tag 0666 in the Stacks Project.
Koszul.inf_sq_eq_mul_of_quotient_generated_by_isH1Regular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 451.
If
I ⊆ JandJ / Iis generated by an H₁-regular sequence, thenI ∩ J² = I J.
theorem inf_sq_eq_mul_of_quotient_generated_by_isH1Regular
{A : Type*} [CommRing A] (I J : Ideal A) (hIJ : I ≤ J)
{m : ℕ} (g : Fin m → A ⧸ I)
(hspan : Ideal.span (Set.range g) = Ideal.map (Ideal.Quotient.mk I) J)
(hreg : Koszul.IsH1Regular g) :
I ⊓ J ^ 2 = I * J
Tag 0667, a lemma
Tag 0667 in the Stacks Project.
Koszul.isQuasiRegular_append_of_isH1Regular_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Concatenation/QuasiRegularAppend.lean, line 567.
Stacks 0667. If
fis quasi-regular and the image ofgmodulo the ideal generated byfis H₁-regular, then the concatenation offandgis quasi-regular.
public theorem isQuasiRegular_append_of_isH1Regular_quotient
{A : Type*} [CommRing A] {n m : ℕ} (f : Fin n → A) (g : Fin m → A)
(hf : RingTheory.Sequence.IsQuasiRegular A (List.ofFn f))
(hg : Koszul.IsH1Regular
(fun j => Ideal.Quotient.mk (Ideal.span (Set.range f)) (g j))) :
RingTheory.Sequence.IsQuasiRegular A (List.ofFn (Fin.append f g))
Tag 0668, a lemma
Tag 0668 in the Stacks Project.
Koszul.isH1Regular_append, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 289.
Let
Abe a commutative ring, letf : Fin n → Abe anH_1-regular sequence, letI = (f_0, ..., f_{n-1})be the ideal it generates, and letg : Fin m → Abe such that the images(Ideal.Quotient.mk I) ∘ gform anH_1-regular sequence inA/I. Then the concatenated sequenceFin.append f g : Fin (n + m) → AisH_1-regular inA.
theorem isH1Regular_append {A : Type*} [CommRing A] {n m : ℕ}
(f : Fin n → A) (g : Fin m → A)
(hf : Koszul.IsH1Regular f)
(hg : Koszul.IsH1Regular
(fun j => (Ideal.Quotient.mk (Ideal.span (Set.range f))) (g j))) :
Koszul.IsH1Regular (Fin.append f g)
Tag 068L, a lemma
Tag 068L in the Stacks Project.
Koszul.isH1Regular_quotient_of_isH1Regular_append, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Regular.lean, line 421.
If
f_1, ..., f_n, g_1, ..., g_mis anH₁-regular sequence inA, then the imagesḡ_1, ..., ḡ_mof theg_jin the quotientA / (f_1, ..., f_n)form anH₁-regular sequence.
theorem isH1Regular_quotient_of_isH1Regular_append {A : Type*} [CommRing A] {n m : ℕ}
(f : Fin n → A) (g : Fin m → A)
(h : Koszul.IsH1Regular (Fin.append f g)) :
Koszul.IsH1Regular
(fun j : Fin m => Ideal.Quotient.mk (Ideal.span (Set.range f)) (g j))
Tag 0669, a lemma
Tag 0669 in the Stacks Project.
Koszul.koszul_regular_append, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Concatenation/KoszulRegularAppend.lean, line 706.
If
fis Koszul-regular and the image ofgmodulo the ideal generated byfis Koszul-regular, then the concatenation offandgis Koszul-regular.
public theorem koszul_regular_append {A : Type*} [CommRing A] {n m : ℕ}
(f : Fin n → A) (g : Fin m → A)
(hf : Koszul.IsKoszulRegular f)
(hg : Koszul.IsKoszulRegular
(fun j => Ideal.Quotient.mk (Ideal.span (Set.range f)) (g j))) :
Koszul.IsKoszulRegular (Fin.append f g)
Tag 068M, a lemma
Tag 068M in the Stacks Project.
Koszul.koszulRegular_quotient_of_koszulRegular_append, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Concatenation/KoszulRegularQuotient.lean, line 172.
If
fand the concatenation offandgare Koszul-regular, then the image ofgin the quotient by the ideal generated byfis Koszul-regular.
public theorem koszulRegular_quotient_of_koszulRegular_append
{A : Type*} [CommRing A] {n m : ℕ} (f : Fin n → A) (g : Fin m → A)
(hf : Koszul.IsKoszulRegular f)
(hfg : Koszul.IsKoszulRegular (Fin.append f g)) :
Koszul.IsKoszulRegular
(fun j : Fin m => Ideal.Quotient.mk (Ideal.span (Set.range f)) (g j))
Tag 066A, a lemma
Tag 066A in the Stacks Project.
Koszul.regularity_of_generators_of_eq_span_range, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Concatenation/GeneratorIndependence.lean, line 434.
Stacks 066A. If an ideal generated by
relements admits a quasi-regular,H₁-regular, or Koszul-regular generating sequence of lengthr, then every generating sequence of lengthrhas the corresponding property.
public theorem regularity_of_generators_of_eq_span_range
{R : Type*} [CommRing R] {r : ℕ} (I : Ideal R) (f : Fin r → R)
(hf : Ideal.span (Set.range f) = I) :
((∃ g : Fin r → R, Ideal.span (Set.range g) = I ∧
RingTheory.Sequence.IsQuasiRegular R (List.ofFn g)) →
RingTheory.Sequence.IsQuasiRegular R (List.ofFn f)) ∧
((∃ g : Fin r → R, Ideal.span (Set.range g) = I ∧ Koszul.IsH1Regular g) →
Koszul.IsH1Regular f) ∧
((∃ g : Fin r → R, Ideal.span (Set.range g) = I ∧ Koszul.IsKoszulRegular g) →
Koszul.IsKoszulRegular f)
Tag 068P, a lemma
Tag 068P in the Stacks Project.
Stacks.GenericLinearForm.linearForm_isNonZeroDivisor, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/MvPolynomial/GenericLinearForm.lean, line 149.
Stacks 068P. If the only
x ∈ Rwithx a_i = 0for alliisx = 0, thenf = ∑ a_i t_iis a nonzerodivisor inR[t_1, ..., t_n]: everygwithf * g = 0is zero.
theorem linearForm_isNonZeroDivisor (a : Fin n → R)
(hinj : ∀ x : R, (∀ i, x * a i = 0) → x = 0) :
∀ g : MvPolynomial (Fin n) R, linearForm a * g = 0 → g = 0
Tag 068Q, a lemma
Tag 068Q in the Stacks Project.
Koszul.isRegular_upperTriangular_of_isKoszulRegular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Descent.lean, line 1466.
Stacks 068Q. A Koszul-regular sequence generating a proper ideal becomes a regular sequence after a generic invertible upper-triangular change of generators. The resulting polynomial localization is faithfully flat and smooth over the original ring, and the changed sequence generates the extension of the original ideal.
public theorem isRegular_upperTriangular_of_isKoszulRegular
{R : Type*} [CommRing R] {n : ℕ} (f : Fin n → R)
(hf : Koszul.IsKoszulRegular f)
(hproper : Ideal.span (Set.range f) ≠ ⊤) :
let σ := {ij : Fin n × Fin n // ij.1 ≤ ij.2}
let P := MvPolynomial σ R
let d : P := ∏ i : Fin n, MvPolynomial.X ⟨(i, i), le_rfl⟩
let S := Localization.Away d
let g : Fin n → S := fun i ↦
∑ j : Fin n, if hij : i ≤ j then
algebraMap P S (MvPolynomial.X ⟨(i, j), hij⟩) * algebraMap R S (f j)
else 0
Module.FaithfullyFlat R S ∧ Algebra.Smooth R S ∧
RingTheory.Sequence.IsRegular S (List.ofFn g) ∧
Ideal.map (algebraMap R S) (Ideal.span (Set.range f)) =
Ideal.span (Set.range g)
Sources
Section15.32 More on Koszul regular sequences#
Section 15.32 of the Stacks Project, Tag 0CEN. 6 tags here are carried by 6 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0G6L, a lemma
Tag 0G6L in the Stacks Project.
Cech.cechComplex_homology_isZero_of_isKoszulRegular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Cech/KoszulResolution.lean, line 233.
The extended alternating Čech complex of a Koszul-regular sequence has zero cohomology in every degree other than the length of the sequence.
public theorem cechComplex_homology_isZero_of_isKoszulRegular
{R : Type u} [CommRing R] {r : ℕ} (f : Fin r → R) (hf : Koszul.IsKoszulRegular f)
(p : ℕ) (hp : p ≠ r) :
CategoryTheory.Limits.IsZero ((Cech.cechComplex f R).homology p)
Tag 0BIQ, a lemma
Tag 0BIQ in the Stacks Project.
Koszul.exists_affineBlowup_algEquiv_mvPolynomial_quotient_of_isH1Regular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Blowup.lean, line 199.
Stacks Project, Tag 0BIQ. The affine blowup algebra associated to an
H₁-regular sequence is the polynomial algebra on the ratios of the remaining terms by the first term, modulo the evident linear relations.
public theorem exists_affineBlowup_algEquiv_mvPolynomial_quotient_of_isH1Regular
{R : Type u} [CommRing R] {n : ℕ} (f : Fin (n + 1) → R)
(hf : Koszul.IsH1Regular f) :
Nonempty
(affineBlowupAlgebraAway (Ideal.span (Set.range f)) (f 0) ≃ₐ[R]
MvPolynomial (Fin n) R ⧸
Ideal.span
(Set.range fun i : Fin n ↦
MvPolynomial.C (f 0) * MvPolynomial.X i - MvPolynomial.C (f i.succ)))
Tag 063Q, a lemma
Tag 063Q in the Stacks Project.
KoszulH1.cmp_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/H1BaseChange.lean, line 383.
Stacks Project, Tag 063Q. Let
A → Bbe a ring map andf_1, …, f_ra sequence inBsuch thatB/(f_1, …, f_r)is flat as anA-module. LetA → A'be a ring map and setB' = B ⊗_A A',f'_i = f_i ⊗ 1. Then the canonical comparison mapΦ : H_1(K_•(B, f_1, …, f_r)) ⊗_A A' ⟶ H_1(K_•(B', f'_1, …, f'_r))
is surjective.
Here the flatness hypothesis is stated as
Module.Flat A (B ⧸ Ideal.span (Set.range f)), the quotient being viewed as anA-module by restriction of scalars alongA → B.
theorem cmp_surjective
{A B A' : Type*} [CommRing A] [CommRing B] [Algebra A B] [CommRing A'] [Algebra A A']
{r : ℕ} (f : Fin r → B)
(hflat : Module.Flat A (B ⧸ Ideal.span (Set.range f))) :
Function.Surjective (cmp (A := A) (A' := A') f)
Tag 0CEP, a lemma
Tag 0CEP in the Stacks Project.
Koszul.quasiRegular_and_h1Regular_baseChange_of_quotient_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/FlatQuotient.lean, line 640.
Stacks Project, Tag 0CEP. Suppose that
B / (f₁, …, fᵣ)is flat overA. Iffis quasi-regular, then its image inB ⊗[A] A'is quasi-regular; iffis H₁-regular, then its image is H₁-regular.
public theorem quasiRegular_and_h1Regular_baseChange_of_quotient_flat
{A B A' : Type*} [CommRing A] [CommRing B] [Algebra A B]
[CommRing A'] [Algebra A A'] {r : ℕ} (f : Fin r → B)
(hflat : Module.Flat A (B ⧸ Ideal.span (Set.range f))) :
(IsQuasiRegular B (List.ofFn f) →
IsQuasiRegular (B ⊗[A] A')
(List.ofFn (KoszulH1.fp (A := A) (A' := A') f))) ∧
(Koszul.IsH1Regular f →
Koszul.IsH1Regular (KoszulH1.fp (A := A) (A' := A') f))
Tag 0CEQ, a lemma
Tag 0CEQ in the Stacks Project.
Koszul.flat_quotient_span_of_isQuasiRegular_of_locallyNilpotent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/FlatQuotient.lean, line 866.
Stacks Project, Tag 0CEQ. A flat, finitely presented algebra remains flat after quotienting by lifts of a quasi-regular sequence whose reduced quotient is flat.
public theorem flat_quotient_span_of_isQuasiRegular_of_locallyNilpotent
{R S : Type*} [CommRing R] [CommRing S] [Algebra R S]
[Module.Flat R S] [Algebra.FinitePresentation R S]
(I : Ideal R) (hI : I ≤ nilradical R) {r : ℕ} (f : Fin r → S)
(hqr : IsQuasiRegular (S ⧸ I.map (algebraMap R S))
(List.ofFn (fun i ↦ Ideal.Quotient.mk (I.map (algebraMap R S)) (f i))))
(hflat : Module.Flat (R ⧸ I)
((S ⧸ I.map (algebraMap R S)) ⧸
Ideal.span (Set.range (fun i ↦
Ideal.Quotient.mk (I.map (algebraMap R S)) (f i))))) :
Module.Flat R (S ⧸ Ideal.span (Set.range f))
Tag 0CER, a lemma
Tag 0CER in the Stacks Project.
Koszul.smooth_quotient_span_of_isQuasiRegular_of_locallyNilpotent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/FlatQuotient.lean, line 950.
Stacks Project, Tag 0CER. A flat, finitely presented algebra remains smooth after quotienting by lifts of a quasi-regular sequence whose reduced quotient is smooth.
public theorem smooth_quotient_span_of_isQuasiRegular_of_locallyNilpotent
{R S : Type*} [CommRing R] [CommRing S] [Algebra R S]
[Module.Flat R S] [Algebra.FinitePresentation R S]
(I : Ideal R) (hI : I ≤ nilradical R) {r : ℕ} (f : Fin r → S)
(hqr : IsQuasiRegular (S ⧸ I.map (algebraMap R S))
(List.ofFn (fun i ↦ Ideal.Quotient.mk (I.map (algebraMap R S)) (f i))))
(hsmooth : Algebra.Smooth (R ⧸ I)
((S ⧸ I.map (algebraMap R S)) ⧸
Ideal.span (Set.range (fun i ↦
Ideal.Quotient.mk (I.map (algebraMap R S)) (f i))))) :
Algebra.Smooth R (S ⧸ Ideal.span (Set.range f))
Sources
Section15.33 Regular ideals#
Section 15.33 of the Stacks Project, Tag 07CU. 5 tags here are carried by 7 declarations of the repository (all in StacksFrontier) and 1 registered declaration, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07CV, a definition
Tag 07CV in the Stacks Project.
Ideal.IsRegular, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/Ideal.lean, line 67. The attribute's comment: “(1)”. References: EGA IV (16.9.7); EGA IV (19.3.1); SGA 1 II (4.14).
An ideal is regular if, at every prime containing it, some principal localization away from the prime is generated by a regular sequence.
public def IsRegular {R : Type*} [CommRing R] (I : Ideal R) : Prop
Ideal.IsKoszulRegular, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/Ideal.lean, line 77. The attribute's comment: “(2)”.
An ideal is Koszul-regular if, at every prime containing it, some principal localization away from the prime is generated by a Koszul-regular sequence.
public def IsKoszulRegular {R : Type*} [CommRing R] (I : Ideal R) : Prop
Ideal.IsH1Regular, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/Ideal.lean, line 87. The attribute's comment: “(3)”.
An ideal is
H₁-regular if, at every prime containing it, some principal localization away from the prime is generated by anH₁-regular sequence.
public def IsH1Regular {R : Type*} [CommRing R] (I : Ideal R) : Prop
Declarations registered for the tag:
Quasiregular.IsQuasiregularIdeal', declared in the repository, registered withadd_to_stacksin StacksFrontier/RingTheory/Regular/Ideal.lean, line 94 (StacksFrontier): “(4)”.
Tag 07CW, a lemma
Tag 07CW in the Stacks Project.
Quasiregular.isQuasiregularIdeal_fg, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/Quasiregular.lean, line 835. References: EGA IV (16.9.4), “(i)”.
Stacks 07CW. A quasi-regular ideal is finitely generated.
theorem isQuasiregularIdeal_fg {I : Ideal R} (hI : IsQuasiregularIdeal' I) : I.FG
Tag 08RK, a lemma
Tag 08RK in the Stacks Project.
Quasiregular.cotangent_finite_projective_of_quasiregular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/Quasiregular.lean, line 827. References: EGA IV (16.9.4), “(ii)”; EGA IV (19.1.3), “special case”.
Stacks 08RK. If
I \subseteq Ris a quasi-regular ideal, thenI/I^2is a finite projectiveR/I-module.
theorem cotangent_finite_projective_of_quasiregular
{R : Type*} [CommRing R] (I : Ideal R) (hI : IsQuasiregularIdeal' I) :
Module.Finite (R ⧸ I) I.Cotangent ∧ Module.Projective (R ⧸ I) I.Cotangent
Tag 068N, a lemma
Tag 068N in the Stacks Project.
Koszul.regular_ideals_of_faithfullyFlat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Koszul/Descent.lean, line 830. References: SGA 6 VII (1.5), “converse, affine case”.
Stacks 068N. Koszul-regular,
H₁-regular, and quasi-regular ideals descend along a faithfully flat homomorphism of commutative rings.
public theorem regular_ideals_of_faithfullyFlat
{A B : Type*} [CommRing A] [CommRing B] (f : A →+* B) (hf : f.FaithfullyFlat)
(I : Ideal A) :
(Ideal.IsKoszulRegular (I.map f) → Ideal.IsKoszulRegular I) ∧
(Ideal.IsH1Regular (I.map f) → Ideal.IsH1Regular I) ∧
(Quasiregular.IsQuasiregularIdeal' (I.map f) →
Quasiregular.IsQuasiregularIdeal' I)
Tag 07CX, a lemma
Tag 07CX in the Stacks Project.
Ideal.inf_sq_eq_mul_of_quotient_isH1RegularIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/Ideal.lean, line 223.
If
I ⊆ JandJ / Iis an H₁-regular ideal ofA / I, thenI ∩ J² = I J.
public theorem inf_sq_eq_mul_of_quotient_isH1RegularIdeal
{A : Type*} [CommRing A] (I J : Ideal A) (hIJ : I ≤ J)
(hreg : IsH1Regular (Ideal.map (Ideal.Quotient.mk I) J)) :
I ⊓ J ^ 2 = I * J
Sources
Section15.34 Local complete intersection maps#
Section 15.34 of the Stacks Project, Tag 07CY. 8 tags here are carried by 9 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07CZ, a lemma
Tag 07CZ in the Stacks Project.
RingHom.isKoszulRegularIdeal_ker_of_surjective_mvPolynomial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/Defs.lean, line 688.
The kernel of every finite polynomial presentation is a Koszul-regular ideal if the kernel of one such presentation is Koszul-regular.
public theorem isKoszulRegularIdeal_ker_of_surjective_mvPolynomial
{A : Type u} {B : Type v} [CommRing A] [CommRing B] [Algebra A B]
{ι : Type w} [_root_.Finite ι] {κ : Type x} [_root_.Finite κ]
(α : MvPolynomial ι A →ₐ[A] B) (hα : Function.Surjective α)
(hI : Ideal.IsKoszulRegular (RingHom.ker α.toRingHom))
(β : MvPolynomial κ A →ₐ[A] B) (hβ : Function.Surjective β) :
Ideal.IsKoszulRegular (RingHom.ker β.toRingHom)
Tag 07D0, a definition
Tag 07D0 in the Stacks Project.
RingHom.IsLocalCompleteIntersection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/Defs.lean, line 94.
A ring homomorphism is a local complete intersection if it is of finite type and some finite polynomial presentation has Koszul-regular kernel.
public def IsLocalCompleteIntersection {A : Type u} {B : Type v}
[CommRing A] [CommRing B] (f : A →+* B) : Prop
Tag 07D1, a lemma
Tag 07D1 in the Stacks Project.
RingHom.isLocalCompleteIntersection_of_localization_away, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/Criteria.lean, line 692.
Stacks 07D1. If finitely many elements
g jgenerate the unit ideal ofSand every composite fromRto the localizationS_{g j}is a local complete intersection, then the original ring homomorphismR → Sis a local complete intersection.
public theorem isLocalCompleteIntersection_of_localization_away
{R : Type u} {S : Type v} [CommRing R] [CommRing S] (f : R →+* S)
{m : ℕ} (g : Fin m → S) (hspan : Ideal.span (Set.range g) = ⊤)
(hlocal : ∀ j, RingHom.IsLocalCompleteIntersection
((algebraMap S (Localization.Away (g j))).comp f)) :
RingHom.IsLocalCompleteIntersection f
Tag 07D2, a lemma
Tag 07D2 in the Stacks Project.
RingHom.isKoszulRegular_relation_of_isRelativeGlobalCompleteIntersection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/Criteria.lean, line 1298.
The relations in a polynomial presentation of a relative global complete intersection form a Koszul-regular sequence in the polynomial ring.
public theorem isKoszulRegular_relation_of_isRelativeGlobalCompleteIntersection
{R : Type u} {S : Type v} [CommRing R] [CommRing S] [Algebra R S]
{ι : Type w} [_root_.Finite ι] {c : ℕ} (P : Algebra.Presentation R S ι (Fin c))
(hP : P.IsRelativeGlobalCompleteIntersection) :
Koszul.IsKoszulRegular P.relation
Tag 07D3, a lemma
Tag 07D3 in the Stacks Project.
RingHom.syntomic_iff_flat_and_isLocalCompleteIntersection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/Criteria.lean, line 1693.
Stacks 07D3. A ring homomorphism is syntomic if and only if it is flat and a local complete intersection.
public theorem syntomic_iff_flat_and_isLocalCompleteIntersection
{R : Type u} {S : Type v} [CommRing R] [CommRing S] (f : R →+* S) :
letI := f.toAlgebra
Algebra.Syntomic R S ↔ f.Flat ∧ RingHom.IsLocalCompleteIntersection f
Tag 07D4, a lemma
Tag 07D4 in the Stacks Project.
RingHom.cotangentMap_toComp_injective_of_isLocalCompleteIntersection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/JacobiZariski.lean, line 249.
Let
A → B → Cbe ring maps, letα : A[x_s] → Bandβ : B[y₁, ..., yₘ] → Cbe presentations, and writeKfor the kernel of the induced presentationβ.comp α : A[x_s, y_t] → C. IfB → Cis a local complete intersection, then the canonical mapC ⊗_B (I / I²) → K / K²is injective. Together with the canonical exact conormal/differential diagram and the Jacobi--Zariski exactness lemmas, this gives the exact sequence0 → H₁(NL\_\{B/A} ⊗\_B C) → H₁(L\_\{C/A}) → H₁(L\_\{C/B}) → C ⊗\_B Ω[B⁄A] → Ω[C⁄A] → Ω[C⁄B] → 0.
public theorem cotangentMap_toComp_injective_of_isLocalCompleteIntersection
{A : Type u₁} {B : Type u₂} [CommRing A] [CommRing B] [Algebra A B]
{C : Type u₃} [CommRing C] [Algebra A C] [Algebra B C] [IsScalarTower A B C]
{S : Type w} {m : ℕ} (α : Generators A B S) (β : Generators B C (Fin m))
(h : RingHom.IsLocalCompleteIntersection (algebraMap B C)) :
Function.Injective
((Extension.Cotangent.map (β.toComp α).toExtensionHom).liftBaseChange C)
Tag 07D5, a lemma
Tag 07D5 in the Stacks Project.
RingHom.cotangentMap_toComp_injective_of_isFilteredColimit_isLocalCompleteIntersection, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/RingMap/JacobiZariski.lean, line 792.
Let
A → B → Cbe ring maps and suppose thatB → Cis exhibited as a filtered colimit of local complete intersection homomorphisms, witheB,eC, andhcommidentifying the directed system's colimit map withB → C. For presentationsα : A[x_s] → Bandβ : B[y_t] → C, the canonical mapC ⊗_B (I / I²) → K / K²from the conormal module ofαto that of the induced presentationβ.comp αis injective.
public theorem cotangentMap_toComp_injective_of_isFilteredColimit_isLocalCompleteIntersection
{A : Type u₁} {B : Type u₂} [CommRing A] [CommRing B] [Algebra A B]
{C : Type u₃} [CommRing C] [Algebra A C] [Algebra B C] [IsScalarTower A B C]
{S : Type w} {T : Type w'} (α : Generators A B S) (β : Generators B C T)
{J : Type u₄} [Preorder J] [IsDirectedOrder J] [Nonempty J]
(sys : RingMapSystemUnbundled.{u₅} J)
(eB : sys.Rinf ≃+* B) (eC : sys.Sinf ≃+* C)
(hcomm : eC.toRingHom.comp sys.gInf = (algebraMap B C).comp eB.toRingHom)
(h : ∀ i : J, RingHom.IsLocalCompleteIntersection (sys.g i)) :
Function.Injective
((Extension.Cotangent.map (β.toComp α).toExtensionHom).liftBaseChange C)
Tag 0D08, a lemma
Tag 0D08 in the Stacks Project.
Algebra.naiveCotangentComplex_quasiIso_henselization_and_strictHenselization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Henselization.lean, line 602.
Let
A → Bbe a local homomorphism of local rings. For the induced local map between henselizations and the induced local map between strict henselizations associated to a compatible map of residue fields, the canonical mapsNL_{B/A} ⊗_B Bʰ ⟶ NL_{Bʰ/Aʰ}andNL_{B/A} ⊗_B Bˢʰ ⟶ NL_{Bˢʰ/Aˢʰ}induce isomorphisms on all homology groups.
public theorem
naiveCotangentComplex_quasiIso_henselization_and_strictHenselization
(A Ah Ash : Type u) (B Bh Bsh : Type v) (kAsep : Type u) (kBsep : Type v)
[CommRing A] [IsLocalRing A] [CommRing B] [IsLocalRing B]
[Algebra A B] [IsLocalHom (algebraMap A B)]
[CommRing Ah] [IsLocalRing Ah] [Algebra A Ah]
[IsLocalRing.IsHenselization A (IsLocalRing.ResidueField A) Ah]
[CommRing Bh] [IsLocalRing Bh] [Algebra B Bh]
[IsLocalRing.IsHenselization B (IsLocalRing.ResidueField B) Bh]
[Algebra A Bh] [IsScalarTower A B Bh] [Algebra Ah Bh] [IsScalarTower A Ah Bh]
[IsLocalHom (algebraMap Ah Bh)]
[Field kAsep] [Algebra (IsLocalRing.ResidueField A) kAsep]
[IsSepClosure (IsLocalRing.ResidueField A) kAsep]
[CommRing Ash] [IsLocalRing Ash] [Algebra A Ash]
[IsLocalRing.IsHenselization A kAsep Ash]
[Field kBsep] [Algebra (IsLocalRing.ResidueField B) kBsep]
[IsSepClosure (IsLocalRing.ResidueField B) kBsep]
[CommRing Bsh] [IsLocalRing Bsh] [Algebra B Bsh]
[IsLocalRing.IsHenselization B kBsep Bsh]
[Algebra A Bsh] [IsScalarTower A B Bsh] [Algebra Ash Bsh] [IsScalarTower A Ash Bsh]
[IsLocalHom (algebraMap Ash Bsh)]
(phi : IsLocalRing.ResidueField Ash →+* IsLocalRing.ResidueField Bsh)
(_hphi : phi.comp ((IsLocalRing.residue Ash).comp (algebraMap A Ash)) =
(IsLocalRing.residue Bsh).comp (algebraMap A Bsh))
(_hinduced : (IsLocalRing.residue Bsh).comp (algebraMap Ash Bsh) =
phi.comp (IsLocalRing.residue Ash)) :
QuasiIso (Algebra.naiveCotangentComplexBaseChangeComparison A Ah B Bh) ∧
QuasiIso (Algebra.naiveCotangentComplexBaseChangeComparison A Ash B Bsh)
Algebra.naiveCotangentComplex_quasiIso_henselizationPair, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Henselization.lean, line 672. The attribute's comment: “the henselization-of-pairs case, which Stacks 0DZC's proof cites 0D08 for although 0D08's own statement is about the local and strict henselizations of a local ring: the input to the source's proof is that both vertical maps are filtered colimits of étale maps, which ind_henselization supplies for the henselization of a pair”.
Stacks 0D08 for the henselization of a pair. Let
Pbe an algebra over a commutative ringk, letJ ⊆ Pbe an ideal and let(Pʰ, Jʰ)be the henselization of the pair(P, J), described by the henselian-pair condition onPʰtogether with its universal property. Then the canonical comparison map
NL_{P/k} ⊗_P Pʰ ⟶ NL_{Pʰ/k}induces isomorphisms on all homology groups.
The source states Stacks 0D08 for the henselization and the strict henselization of a local ring, which is
naiveCotangentComplex_quasiIso_henselization_and_strictHenselization. Its proof uses of those two only that they are filtered colimits of étale algebras over their bases, and the henselization of a pair is such a colimit byind_henselization; this is the instance Stacks 0DZC's proof appeals to 0D08 for.
public theorem naiveCotangentComplex_quasiIso_henselizationPair
(k : Type u) [CommRing k] (P : Type v) [CommRing P] [Algebra k P] (J : Ideal P)
(Ph : Type v) [CommRing Ph] [Algebra P Ph] [Algebra k Ph] [IsScalarTower k P Ph]
(hhens : HenselianPair Ph (J.map (algebraMap P Ph)))
(huniv : ∀ (C : Type v) (_ : CommRing C) (JC : Ideal C), HenselianPair C JC →
∀ f : P →+* C, J ≤ JC.comap f →
∃! g : Ph →+* C, g.comp (algebraMap P Ph) = f ∧
J.map (algebraMap P Ph) ≤ JC.comap g) :
QuasiIso (naiveCotangentComplexBaseChangeComparison k k P Ph)
Sources
Section15.35 Cartier's equality and geometric regularity#
Section 15.35 of the Stacks Project, Tag 07E0. 3 tags here are carried by 3 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07E1, a lemma
Tag 07E1 in the Stacks Project.
trdeg_eq_finrank_kaehlerDifferential_sub_finrank_h1Cotangent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/KaehlerDifferential/CartierEquality.lean, line 337. References: EGA 0 (21.7.1); EGA 0 (21.7.2), “special case”.
Cartier's equality. For a finitely generated extension of fields
K/k, the module of Kähler differentials and the first homology of the naive cotangent complex are finite-dimensional, and their dimensions differ by the transcendence degree.
public theorem trdeg_eq_finrank_kaehlerDifferential_sub_finrank_h1Cotangent
(k : Type u) (K : Type v) [Field k] [Field K] [Algebra k K]
[Algebra.EssFiniteType k K] :
FiniteDimensional K Ω[K⁄k] ∧
FiniteDimensional K (Algebra.H1Cotangent k K) ∧
(Cardinal.toNat (Algebra.trdeg k K) : ℤ) =
(Module.finrank K Ω[K⁄k] : ℤ) - Module.finrank K (Algebra.H1Cotangent k K)
Tag 07E2, a lemma
Tag 07E2 in the Stacks Project.
jacobiZariski_exact_of_fieldExtensions, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/KaehlerDifferential/CartierEquality.lean, line 476.
Let
M/L/Kbe a tower of field extensions. Then the canonical Jacobi--Zariski sequence
0 → H₁(L_{L/K}) ⊗[L] M → H₁(L_{M/K}) → H₁(L_{M/L}) →M ⊗[L] Ω[L⁄K] → Ω[M⁄K] → Ω[M⁄L] → 0is exact.
public theorem jacobiZariski_exact_of_fieldExtensions
(K : Type u₁) (L : Type u₂) (M : Type u₃)
[Field K] [Field L] [Field M]
[Algebra K L] [Algebra L M] [Algebra K M] [IsScalarTower K L M] :
let i := (Algebra.H1Cotangent.map K K L M).liftBaseChange M
let p := Algebra.H1Cotangent.map K L M M
let δ := Algebra.H1Cotangent.δ K L M
let d := KaehlerDifferential.mapBaseChange K L M
let q := KaehlerDifferential.map K L M M
Function.Injective i ∧
Function.Exact i p ∧
Function.Exact p δ ∧
Function.Exact δ d ∧
Function.Exact d q ∧
Function.Surjective q
Tag 07E3, a lemma
Tag 07E3 in the Stacks Project.
finrank_ker_sub_finrank_coker_kaehlerDifferential_map_sub_h1Cotangent_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/FieldTheory/KaehlerDifferential/CartierEquality.lean, line 604. References: EGA 0 (21.7.1).
Given a commutative square of fields
whose horizontal extensions are finitely generated, the kernels and cokernels of the canonical maps on Kähler differentials and first cotangent homology are finite-dimensional. The alternating sum of their dimensions is the difference of the transcendence degrees of the horizontal extensions.K → K' ↑ ↑ k → k'
public theorem finrank_ker_sub_finrank_coker_kaehlerDifferential_map_sub_h1Cotangent_map
(k : Type u₁) (K : Type u₂) (k' : Type u₃) (K' : Type u₄)
[Field k] [Field K] [Field k'] [Field K']
[Algebra k K] [Algebra k k'] [Algebra K K'] [Algebra k' K'] [Algebra k K']
[IsScalarTower k K K'] [IsScalarTower k k' K']
[Algebra.FiniteType k k'] [Algebra.FiniteType K K'] :
let α := (KaehlerDifferential.map k k' K K').liftBaseChange K'
let β := (Algebra.H1Cotangent.map k k' K K').liftBaseChange K'
FiniteDimensional K' (LinearMap.ker α) ∧
FiniteDimensional K' (Ω[K'⁄k'] ⧸ LinearMap.range α) ∧
FiniteDimensional K' (LinearMap.ker β) ∧
FiniteDimensional K' (Algebra.H1Cotangent k' K' ⧸ LinearMap.range β) ∧
(Module.finrank K' (LinearMap.ker α) : ℤ) -
Module.finrank K' (Ω[K'⁄k'] ⧸ LinearMap.range α) -
Module.finrank K' (LinearMap.ker β) +
Module.finrank K' (Algebra.H1Cotangent k' K' ⧸ LinearMap.range β) =
(Cardinal.toNat (Algebra.trdeg k k') : ℤ) -
Cardinal.toNat (Algebra.trdeg K K')
Sources
Section15.36 Geometric regularity#
Section 15.36 of the Stacks Project, Tag 07E4. 2 tags here are carried by 2 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07E5, a proposition
Tag 07E5 in the Stacks Project.
geometricallyRegular_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/PurelyInseparableCriterion.lean, line 886. References: EGA 0 (22.5.8), “b) ⇔ b'), char p”.
Let
Abe a Noetherian local algebra over a fieldkof positive characteristicp. The following are equivalent:
Ais geometrically regular overk;A ⊗[k] k'is regular for every finite intermediate fieldk'ofk¹ᵖ;Ais regular and the canonical map fromH¹(L_(K/k))to𝔪/𝔪²is injective;Ais regular and the canonical map fromΩ[k/ZMod p] ⊗[k] KtoΩ[A/ZMod p] ⊗[A] Kis injective,where
Kis the residue field ofA.
public theorem geometricallyRegular_tfae
(p : ℕ) [Fact p.Prime] (k : Type u) (A : Type v)
[Field k] [CharP k p] [CommRing A] [Algebra k A]
[IsNoetherianRing A] [IsLocalRing A] :
letI : Algebra (ZMod p) k := ZMod.algebra k p
letI : Algebra (ZMod p) A :=
((algebraMap k A).comp (algebraMap (ZMod p) k)).toAlgebra
letI : IsScalarTower (ZMod p) k A := IsScalarTower.of_algebraMap_eq' rfl
letI : Algebra k (PerfectClosure k p) := (PerfectClosure.of k p).toAlgebra
List.TFAE [
Algebra.IsGeometricallyRegular k A,
(∀ (k' : IntermediateField k (PerfectClosure k p)),
FiniteDimensional k k' →
(∀ x : k', (x : PerfectClosure k p) ^ p ∈
Set.range (algebraMap k (PerfectClosure k p))) →
IsRegularRing (A ⊗[k] k')),
IsRegularLocalRing A ∧
Function.Injective
(Algebra.H1Cotangent.map k A (IsLocalRing.ResidueField A)
(IsLocalRing.ResidueField A)),
IsRegularLocalRing A ∧
Function.Injective
((KaehlerDifferential.mapBaseChange (ZMod p) k A).baseChange
(IsLocalRing.ResidueField A))]
Tag 07E6, a lemma
Tag 07E6 in the Stacks Project.
flat_localization_and_regular_quotient_of_basis_kaehlerDifferential, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/PurelyInseparableCriterion.lean, line 1206.
Let
Abe a Noetherian local algebra over a fieldkof positive characteristic, and assume thatAis geometrically regular overk. LetFbe a finitely generated intermediate field of the residue field ofA. Ifyᵢ ∈ Fhave differentials forming a basis ofΩ[F⁄k], and a mapk[X₁, …, Xₘ] → Alifts theyᵢ, thenAis flat over its localization at the inverse image of the maximal ideal, and the quotient ofAby the extended prime is regular local.
public theorem flat_localization_and_regular_quotient_of_basis_kaehlerDifferential
(p : ℕ) [Fact p.Prime] (k : Type u) (A : Type v)
[Field k] [CharP k p] [CommRing A] [Algebra k A] [IsNoetherianRing A] [IsLocalRing A]
[Algebra.IsGeometricallyRegular k A] (m : ℕ)
(F : IntermediateField k (ResidueField A)) [Algebra.EssFiniteType k F]
(y : Fin m → F) (b : Module.Basis (Fin m) F Ω[F⁄k])
(hb : ∀ i, b i = KaehlerDifferential.D k F (y i))
(φ : MvPolynomial (Fin m) k →ₐ[k] A)
(hφ : ∀ i, residue A (φ (MvPolynomial.X i)) = algebraMap F (ResidueField A) (y i)) :
letI : Algebra (MvPolynomial (Fin m) k) A := φ.toRingHom.toAlgebra
∀ (A₀ : Type w) [CommRing A₀] [Algebra (MvPolynomial (Fin m) k) A₀]
[IsLocalization.AtPrime A₀ ((maximalIdeal A).comap φ)] [Algebra A₀ A]
[IsScalarTower (MvPolynomial (Fin m) k) A₀ A],
Module.Flat A₀ A ∧
IsRegularLocalRing (A ⧸ Ideal.map φ ((maximalIdeal A).comap φ))
Sources
Section15.37 Topological rings and modules#
Section 15.37 of the Stacks Project, Tag 07E7. 5 tags here are carried by 10 declarations of the repository (all in StacksFrontier) and 10 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07E8, a definition
Tag 07E8 in the Stacks Project.
TopologicalRing.IsIdealOfDefinition, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 91. The attribute's comment: “(4)”.
An ideal of definition is open and its powers are cofinal among the neighborhoods of zero.
public def IsIdealOfDefinition {R : Type u} [CommRing R] [TopologicalSpace R]
(I : Ideal R) : Prop
TopologicalRing.IsPreAdmissible, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 98. The attribute's comment: “(5)”.
A topological ring is pre-admissible if it has an ideal of definition.
public def IsPreAdmissible (R : Type u) [CommRing R] [TopologicalSpace R] : Prop
TopologicalRing.IsAdmissible, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 107. The attribute's comment: “(6)”. References: EGA 0 (7.1.2), “admissible”.
A topological ring is admissible if it is pre-admissible and complete.
public def IsAdmissible (R : Type u) [CommRing R] [TopologicalSpace R]
[IsTopologicalRing R] : Prop
TopologicalRing.IsPreAdic, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 114. The attribute's comment: “(7)”.
A topological ring is pre-adic if an ideal of definition defines its topology through its powers.
public def IsPreAdic (R : Type u) [CommRing R] [TopologicalSpace R] : Prop
TopologicalRing.IsAdic, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 119. The attribute's comment: “(8)”. References: EGA 0 (7.1.9), “preadic (J^n a basis)”.
A topological ring is adic if it is pre-adic and complete.
public def IsAdic (R : Type u) [CommRing R] [TopologicalSpace R]
[IsTopologicalRing R] : Prop
TopologicalRing.preAdic_and_adic_iff_admissible_and_open_powers, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 137. The attribute's comment: “equivalent characterization”.
A (pre-)adic topological ring is equivalently a (pre-)admissible topological ring possessing an ideal of definition all of whose positive powers are open.
public theorem preAdic_and_adic_iff_admissible_and_open_powers
{R : Type u} [CommRing R] [TopologicalSpace R]
[IsTopologicalRing R] [IsLinearTopology R R] :
(IsPreAdic R ↔ IsPreAdmissible R ∧
∃ I : Ideal R, IsIdealOfDefinition I ∧
∀ n : ℕ, 1 ≤ n → IsOpen ((I ^ n : Ideal R) : Set R)) ∧
(IsAdic R ↔ IsAdmissible R ∧
∃ I : Ideal R, IsIdealOfDefinition I ∧
∀ n : ℕ, 1 ≤ n → IsOpen ((I ^ n : Ideal R) : Set R))
Declarations registered for the tag:
IsTopologicalRingregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 73 (StacksFrontier): “(1), topological rings”.TopModuleCatregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 74 (StacksFrontier): “(1), topological modules”.ContinuousLinearMapregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 75 (StacksFrontier): “(2), homomorphisms of topological modules”. References: EGA 0 (18.5.3), “partial”; EGA 0 (19.1.1); SGA 3 VIIB (0.2); SGA 3 VIIB (0.2.2); SGA 3 VIIB (0.3.6); SGA 3 VIIB (0.5.B); SGA 3 VIIB (1.3.5.A); SGA 6 II (AppII.3.0.2).StacksTopologicalRingHom, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 84 (StacksFrontier): “(2), homomorphisms of topological rings”.IsLinearTopologyregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRings.lean, line 85 (StacksFrontier): “(3), linear topologies”. References: EGA 0 (20.3.1); EGA 0 (7.1.1).IsTopologicalRingregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRingsRefined.lean, line 86 (StacksFrontier): “(1), topological rings”.TopModuleCatregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRingsRefined.lean, line 87 (StacksFrontier): “(1), topological modules”.ContinuousLinearMapregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRingsRefined.lean, line 88 (StacksFrontier): “(2), homomorphisms of topological modules”. References: EGA 0 (18.5.3), “partial”; EGA 0 (19.1.1); SGA 3 VIIB (0.2); SGA 3 VIIB (0.2.2); SGA 3 VIIB (0.3.6); SGA 3 VIIB (0.5.B); SGA 3 VIIB (1.3.5.A); SGA 6 II (AppII.3.0.2).StacksTopologicalRingHom, declared in the repository, registered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRingsRefined.lean, line 89 (StacksFrontier): “(2), homomorphisms of topological rings”.IsLinearTopologyregistered withadd_to_stacksin StacksFrontier/Topology/Algebra/AdicTopology/AdmissibleRingsRefined.lean, line 90 (StacksFrontier): “(3), linear topologies”. References: EGA 0 (20.3.1); EGA 0 (7.1.1).
Tag 07E9, a lemma
Tag 07E9 in the Stacks Project.
RingHom.continuous_adic_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/AdicTopology/Continuous.lean, line 29.
A ring homomorphism
φ : R → Sbetween commutative rings is continuous with respect to theI-adic topology onRand theJ-adic topology onSif and only if there existsn ≥ 1withφ(I ^ n) ⊆ J.
theorem RingHom.continuous_adic_iff {R S : Type*} [CommRing R] [CommRing S]
(φ : R →+* S) (I : Ideal R) (J : Ideal S) :
@Continuous R S I.adicTopology J.adicTopology φ ↔
∃ n : ℕ, 1 ≤ n ∧ ∀ x ∈ I ^ n, φ x ∈ J
Tag 0CQU, a lemma
Tag 0CQU in the Stacks Project.
dense_iInter_of_isOpen_of_complete_linearTopology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/BaireLinearTopology.lean, line 77.
The Baire category theorem for complete linearly topologized abelian groups with a countable fundamental system of neighbourhoods of zero.
public theorem dense_iInter_of_isOpen_of_complete_linearTopology
{M : Type*} [AddCommGroup M] [TopologicalSpace M] [IsTopologicalAddGroup M]
[T2Space M] [IsLinearTopology ℤ M]
(hcomplete : @CompleteSpace M (IsTopologicalAddGroup.rightUniformSpace M))
(hcount : (nhds (0 : M)).IsCountablyGenerated)
{U : ℕ → Set M} (hUopen : ∀ n, IsOpen (U n)) (hUdense : ∀ n, Dense (U n)) :
Dense (⋂ n, U n)
Tag 0CQV, a lemma
Tag 0CQV in the Stacks Project.
exists_isOpen_of_iUnion_eq_univ_of_complete_linearTopology, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/BaireLinearTopology.lean, line 112.
A countable closed-subgroup cover of a complete linearly topologized abelian group contains an open subgroup.
public theorem exists_isOpen_of_iUnion_eq_univ_of_complete_linearTopology
{M : Type*} [AddCommGroup M] [TopologicalSpace M] [IsTopologicalAddGroup M]
[T2Space M] [IsLinearTopology ℤ M]
(hcomplete : @CompleteSpace M (IsTopologicalAddGroup.rightUniformSpace M))
(hcount : (nhds (0 : M)).IsCountablyGenerated)
(N : ℕ → AddSubgroup M) (hNclosed : ∀ n, IsClosed (N n : Set M))
(hNcover : (⋃ n, (N n : Set M)) = Set.univ) :
∃ n, IsOpen (N n : Set M)
Tag 0CQW, a lemma
Tag 0CQW in the Stacks Project.
open_mapping_lemma, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Topology/Algebra/OpenMapping.lean, line 288.
Let
u : N → Mbe a continuous homomorphism of topological abelian groups. Assume thatMis separated, and thatNis complete (which, byIsGroupComplete, includes separatedness ofN), linearly topologized, and has a countable fundamental system of neighbourhoods of0. Then exactly one of the following two statements holds:
uis open; or- there exists an open subgroup
N' ⊆ Nsuch that the imageu(N')is nowhere dense inM.
theorem open_mapping_lemma
{N : Type*} [AddCommGroup N] [TopologicalSpace N] [IsTopologicalAddGroup N]
{M : Type*} [AddCommGroup M] [TopologicalSpace M] [IsTopologicalAddGroup M]
[T2Space M]
(u : N →+ M) (hu : Continuous u)
(hNcomplete : IsGroupComplete N)
(hNlin : IsLinearlyTopologized N)
(hNcount : HasCountableFundamentalSystem N) :
Xor (IsOpenMap u)
(∃ N' : AddSubgroup N, IsOpen (N' : Set N) ∧ IsNowhereDense (u '' (N' : Set N)))
Sources
Section15.38 Formally smooth maps of topological rings#
Section 15.38 of the Stacks Project, Tag 07EA. 9 tags here are carried by 12 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07EB, a definition
Tag 07EB in the Stacks Project.
IsFormallySmooth, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/TopologicalRings/AdicCriterion.lean, line 96. References: EGA 0 (19.3.1), “linearly topologized”.
A homomorphism between linearly topologized rings is formally smooth if it is continuous and every compatible square-zero lifting problem with a discrete target ring has a continuous lift.
def IsFormallySmooth.{u, v, w} {R : Type v} {S : Type w}
[CommRing R] [TopologicalSpace R] [IsTopologicalRing R] [IsLinearTopology R R]
[CommRing S] [TopologicalSpace S] [IsTopologicalRing S] [IsLinearTopology S S]
(φ : R →+* S) : Prop
Tag 07EC, a lemma
Tag 07EC in the Stacks Project.
RingHom.FormallySmoothTop.of_formallySmooth_of_isAdic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Algebraic.lean, line 25. References: EGA 0 (19.3.8), “discrete topologies”.
Algebraic formal smoothness implies topological formal smoothness for an adic target.
theorem of_formallySmooth_of_isAdic.{u, v, w}
{R : Type v} {S : Type w} [CommRing R] [CommRing S]
[TopologicalSpace R] [IsTopologicalRing R]
[TopologicalSpace S] [IsTopologicalRing S]
(phi : R →+* S) (n : Ideal S) (hn : IsAdic n)
(hphi : @Algebra.FormallySmooth R S _ _ phi.toAlgebra) :
RingHom.FormallySmoothTop.{u, v, w} phi
isFormallySmooth_of_formallySmooth_and_isAdic_and_iff_discrete, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/TopologicalRings/AdicCriterion.lean, line 181.
Algebraic formal smoothness implies formal smoothness for any continuous map from a linearly topologized ring to a pre-adic ring. Moreover, for ideals
m ⊆ Randn ⊆ S, a continuous map for the adic topologies is formally smooth if and only if it is formally smooth with the discrete topology onR.
public theorem isFormallySmooth_of_formallySmooth_and_isAdic_and_iff_discrete.{u, v, w}
{R : Type v} {S : Type w} [CommRing R] [CommRing S] (φ : R →+* S) :
(∀ (tR : TopologicalSpace R) (tS : TopologicalSpace S),
letI := tR
letI := tS
∀ [IsTopologicalRing R] [IsLinearTopology R R]
[IsTopologicalRing S] [IsLinearTopology S S],
(∃ n : Ideal S, IsAdic n) →
@Algebra.FormallySmooth R S _ _ φ.toAlgebra → Continuous φ →
IsFormallySmooth.{u} φ) ∧
∀ (m : Ideal R) (n : Ideal S),
(letI := m.adicTopology
letI : IsTopologicalRing R := m.ringFilterBasis.isTopologicalRing
letI := n.adicTopology
letI : IsTopologicalRing S := n.ringFilterBasis.isTopologicalRing
@Continuous R S m.adicTopology n.adicTopology φ) →
((letI := m.adicTopology
letI : IsTopologicalRing R := m.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology R R := m.isLinearTopology
letI := n.adicTopology
letI : IsTopologicalRing S := n.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology S S := n.isLinearTopology
IsFormallySmooth.{u} φ) ↔
(letI : TopologicalSpace R := ⊥
letI : DiscreteTopology R := ⟨rfl⟩
letI := n.adicTopology
letI : IsTopologicalRing S := n.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology S S := n.isLinearTopology
IsFormallySmooth.{u} φ))
Tag 07NI, a definition
Tag 07NI in the Stacks Project.
RingHom.FormallySmoothNAdic, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Topological.lean, line 144.
φ : R →+* Sis formally smooth for then-adic topology, wherenis an ideal ofS: for every square-zero idealJof a ringA, every ring mapf : R → A, and every ring mapψ : S → A ⧸ Jmaking the square commute and withψkilling some power ofn(somek ≥ 1withn ^ k ≤ ker ψ), there exists a liftg : S → Awith(Ideal.Quotient.mk J) ∘ g = ψandg ∘ φ = f.
def FormallySmoothNAdic {R : Type v} {S : Type w} [CommRing R] [CommRing S]
(φ : R →+* S) (n : Ideal S) : Prop
Tag 07ED, a lemma
Tag 07ED in the Stacks Project.
isFormallySmooth_iff_adicCompletion, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/TopologicalRings/Completion.lean, line 465. References: EGA 0 (19.3.6), “adic top., f.g. ideals”; EGA 0 (19.9.4), “a) <=> b) <=> c)”; EGA IV (17.5.3), “d) ⇔ d')”.
Formal smoothness of a continuous homomorphism of adic rings is unchanged by completing the target, or by completing both source and target.
public theorem isFormallySmooth_iff_adicCompletion.{u, v, w}
{R : Type v} {S : Type w} [CommRing R] [CommRing S]
(m : Ideal R) (n : Ideal S) (hm : m.FG) (hn : n.FG) (f : R →+* S)
(hf : @Continuous R S m.adicTopology n.adicTopology f) :
letI : WithIdeal R := ⟨m⟩
letI : WithIdeal S := ⟨n⟩
let mhat : Ideal (Completion R) := m.map Completion.coeRingHom
let nhat : Ideal (Completion S) := n.map Completion.coeRingHom
let fhat : Completion R →+* Completion S := Completion.mapRingHom f hf
let toShat : R →+* Completion S := Completion.coeRingHom.comp f
letI : TopologicalSpace (Completion R) := mhat.adicTopology
letI : IsTopologicalRing (Completion R) := mhat.nonarchimedean.toIsTopologicalRing
letI : IsLinearTopology (Completion R) (Completion R) := mhat.isLinearTopology
letI : TopologicalSpace (Completion S) := nhat.adicTopology
letI : IsTopologicalRing (Completion S) := nhat.nonarchimedean.toIsTopologicalRing
letI : IsLinearTopology (Completion S) (Completion S) := nhat.isLinearTopology
(IsFormallySmooth.{u} f ↔ IsFormallySmooth.{u} toShat) ∧
(IsFormallySmooth.{u} toShat ↔ IsFormallySmooth.{u} fhat)
Tag 07NJ, a lemma
Tag 07NJ in the Stacks Project.
RingHom.FormallySmoothTop.exists_continuous_lift_of_isAdic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/AdicLifting.lean, line 508.
A formally smooth homomorphism lifts continuously through a closed quotient of an adic complete ring, provided a positive power of the quotient ideal lies in an ideal of definition.
theorem exists_continuous_lift_of_isAdic
{R : Type u} {S : Type v} {A : Type w}
[CommRing R] [TopologicalSpace R] [IsTopologicalRing R] [IsLinearTopology R R]
[CommRing S] [TopologicalSpace S] [IsTopologicalRing S] [IsLinearTopology S S]
[CommRing A] [TopologicalSpace A] [IsTopologicalRing A]
(f : R →+* S) (n : Ideal S) (hn : IsAdic n)
(hf : RingHom.FormallySmoothTop.{w} f)
(I : Ideal A) (hI : IsAdic I) [IsAdicComplete I A]
(J : Ideal A) (hJ : IsClosed (J : Set A))
(t : ℕ) (ht : 1 ≤ t) (hJI : J ^ t ≤ I)
(g : R →+* A) (hg : Continuous g)
(ψ : S →+* A ⧸ J) (hψ : Continuous ψ)
(hcomm : ψ.comp f = (Ideal.Quotient.mk J).comp g) :
∃ φ : S →+* A, Continuous φ ∧ φ.comp f = g ∧
(Ideal.Quotient.mk J).comp φ = ψ
exists_continuous_lift_of_isFormallySmooth_of_isAdic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/TopologicalRings/AdicBaseChange.lean, line 129.
A formally smooth homomorphism for the
n-adic topology lifts continuously through a closed quotient of an adic ring when a positive power of the quotient ideal lies in an ideal of definition.
public theorem exists_continuous_lift_of_isFormallySmooth_of_isAdic
{R : Type u} {S : Type v} {A : Type w}
[CommRing R] [TopologicalSpace R] [IsTopologicalRing R] [IsLinearTopology R R]
[CommRing S] [TopologicalSpace S] [IsTopologicalRing S] [IsLinearTopology S S]
[CommRing A] [TopologicalSpace A] [IsTopologicalRing A]
(f : R →+* S) (n : Ideal S) (hn : IsAdic n)
(hf : IsFormallySmooth.{w} f)
(I : Ideal A) (hI : IsAdic I) [IsAdicComplete I A]
(J : Ideal A) (hJ : IsClosed (J : Set A))
(t : ℕ) (ht : 1 ≤ t) (hJI : J ^ t ≤ I)
(g : R →+* A) (hg : Continuous g)
(ψ : S →+* A ⧸ J) (hψ : Continuous ψ)
(hcomm : ψ.comp f = (Ideal.Quotient.mk J).comp g) :
∃ φ : S →+* A, Continuous φ ∧ φ.comp f = g ∧
(Ideal.Quotient.mk J).comp φ = ψ
Tag 07EE, a lemma
Tag 07EE in the Stacks Project.
RingHom.FormallySmoothNAdic.mono, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Topological.lean, line 158. References: EGA 0 (19.3.8), “adic topologies on S”.
Stacks Tag 07EE, Lemma 15.38.6: if
n ≤ n'are ideals ofSandφ : R → Sis formally smooth for then-adic topology, then it is formally smooth for then'-adic topology. Usable ash.mono hnn'.
theorem FormallySmoothNAdic.mono {R : Type v} {S : Type w} [CommRing R] [CommRing S]
{φ : R →+* S} {n n' : Ideal S} (h : FormallySmoothNAdic.{u, v, w} φ n) (hnn' : n ≤ n') :
FormallySmoothNAdic.{u, v, w} φ n'
Tag 07EF, a lemma
Tag 07EF in the Stacks Project.
RingHom.FormallySmoothTop.comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Topological.lean, line 108.
Stacks Lemma 15.38.7 (Tag 07EF). A composition of formally smooth continuous ring homomorphisms of topological rings is formally smooth: if
φ : R →+* Sandψ : S →+* Tare formally smooth andψis continuous, thenψ.comp φis formally smooth. Usable ashsφ.comp hsψ hψ. Continuity ofψ.comp φis not part of the conclusion; it follows fromContinuous.compgiven thatφis continuous.
theorem FormallySmoothTop.comp {R : Type v} {S : Type w} {T : Type z}
[CommRing R] [TopologicalSpace R] [IsTopologicalRing R]
[CommRing S] [TopologicalSpace S] [IsTopologicalRing S]
[CommRing T] [TopologicalSpace T] [IsTopologicalRing T] {φ : R →+* S} {ψ : S →+* T}
(hsφ : FormallySmoothTop.{u, v, w} φ) (hsψ : FormallySmoothTop.{u, w, z} ψ)
(hψ : Continuous ψ) : FormallySmoothTop.{u, v, z} (ψ.comp φ)
Tag 07EG, a lemma
Tag 07EG in the Stacks Project.
RingHom.formallySmoothTop_iff_formallySmoothNAdic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/Adic.lean, line 69.
For a discrete source and an adic target, topological formal smoothness is equivalent to formal smoothness for the adic topology.
theorem formallySmoothTop_iff_formallySmoothNAdic.{u, v, w}
{R : Type v} {S : Type w} [CommRing R] [CommRing S]
[TopologicalSpace R] [IsTopologicalRing R] [DiscreteTopology R]
[TopologicalSpace S] [IsTopologicalRing S]
(phi : R →+* S) (n : Ideal S) (hn : IsAdic n) :
FormallySmoothTop.{u, v, w} phi ↔ FormallySmoothNAdic.{u, v, w} phi n
RingHom.FormallySmoothNAdic.baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/BaseChange.lean, line 32. References: EGA 0 (19.3.5), “(iii)”; EGA 0 (19.9.3), “adic topology case”.
Formal smoothness for the
n-adic topology is preserved by arbitrary base change fromRtoR'; onS ⊗[R] R', the adic ideal is the extension ofn.
theorem baseChange.{u, v, w, z}
{R : Type v} {S : Type w} {R' : Type z}
[CommRing R] [CommRing S] [CommRing R'] [Algebra R S] [Algebra R R']
(n : Ideal S) (h : RingHom.FormallySmoothNAdic.{u, v, w} (algebraMap R S) n) :
RingHom.FormallySmoothNAdic.{u, z, max w z}
(Algebra.TensorProduct.includeRight (R := R) (A := S) (B := R')).toRingHom
(n.map (Algebra.TensorProduct.includeLeft (R := R) (S := R)
(A := S) (B := R')).toRingHom)
Tag 07EH, a lemma
Tag 07EH in the Stacks Project.
isFormallySmooth_adic_of_split_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/TopologicalRings/AdicBaseChange.lean, line 375.
If
R → R'admits anR-linear retraction and the base changeR' → S ⊗[R] R'is formally smooth for the topology defined by the extension ofn, thenR → Sis formally smooth for then-adic topology.
public theorem isFormallySmooth_adic_of_split_baseChange.{u, v, w, z}
{R : Type v} {S : Type w} {R' : Type z}
[CommRing R] [CommRing S] [CommRing R'] [Algebra R S] [Algebra R R']
(n : Ideal S)
(hsplit : ∃ p : R' →ₗ[R] R,
p.comp (Algebra.linearMap R R') = LinearMap.id)
(hsmooth :
letI : Algebra R' (S ⊗[R] R') :=
Algebra.TensorProduct.rightAlgebra (R := R) (A := S) (B := R')
let n' : Ideal (S ⊗[R] R') :=
Ideal.map (Algebra.TensorProduct.includeLeft : S →ₐ[R] S ⊗[R] R') n
letI : TopologicalSpace R' := ⊥
letI : DiscreteTopology R' := ⟨rfl⟩
letI : TopologicalSpace (S ⊗[R] R') := n'.adicTopology
letI : IsTopologicalRing (S ⊗[R] R') := n'.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology (S ⊗[R] R') (S ⊗[R] R') := n'.isLinearTopology
IsFormallySmooth.{max u z} (algebraMap R' (S ⊗[R] R'))) :
letI : TopologicalSpace R := ⊥
letI : DiscreteTopology R := ⟨rfl⟩
letI : TopologicalSpace S := n.adicTopology
letI : IsTopologicalRing S := n.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology S S := n.isLinearTopology
IsFormallySmooth.{u} (algebraMap R S)
Sources
Section15.39 Formally smooth maps of local rings#
Section 15.39 of the Stacks Project, Tag 0DYF. 6 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0DYG, a lemma
Tag 0DYG in the Stacks Project.
formallySmooth_adic_iff_lifts_local_squareZero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/LocalRings/LiftingCriterion.lean, line 480. References: EGA 0 (22.1.4); SGA 1 III (2.2), “(iv ter)”; SGA 1 III (2.1), “(i) ⇔ (iv bis)”.
A local homomorphism of local rings is formally smooth for the adic topologies if and only if it lifts through all residually trivial square-zero quotients whose source has nilpotent maximal ideal. If the target is Noetherian, testing residually trivial small extensions suffices.
public theorem formallySmooth_adic_iff_lifts_local_squareZero
{R : Type v} {S : Type w} [CommRing R] [IsLocalRing R]
[CommRing S] [IsLocalRing S] (φ : R →+* S) [IsLocalHom φ] :
(FormallySmoothAdic.{u, v, w} φ ↔ LiftsLocalSquareZero.{u, v, w} φ) ∧
(IsNoetherianRing S →
(FormallySmoothAdic.{u, v, w} φ ↔ LiftsLocalSmallExtension.{u, v, w} φ))
Tag 07EI, a lemma
Tag 07EI in the Stacks Project.
isRegularLocalRing_of_isFormallySmooth_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/LocalRings/CoefficientFieldsAndRegularity.lean, line 199. References: EGA 0 (19.6.5), “A regular (k'=k)”; EGA 0 (22.5.8), “a) ⇒ A regular”.
A Noetherian local algebra over a field that is formally smooth for its maximal-ideal adic topology is a regular local ring.
public theorem isRegularLocalRing_of_isFormallySmooth_maximalIdeal.{v, w}
{k : Type v} {A : Type w} [Field k] [CommRing A] [Algebra k A]
[IsLocalRing A] [IsNoetherianRing A]
(h : FormallySmoothDiscreteMaximalIdeal.{max v w, v, w} (algebraMap k A)) :
IsRegularLocalRing A
RingHom.FormallySmoothTop.isRegularLocalRing_of_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/RegularLocal.lean, line 368. References: EGA 0 (19.6.5), “A regular (k'=k)”; EGA 0 (22.5.8), “a) ⇒ A regular”.
A Noetherian local algebra over a field is regular if its structure map is formally smooth for the maximal-ideal adic topology.
theorem isRegularLocalRing_of_maximalIdeal.{v, w}
{k : Type v} {A : Type w} [Field k] [CommRing A] [Algebra k A]
[IsLocalRing A] [IsNoetherianRing A]
(h :
let m := IsLocalRing.maximalIdeal A
let : TopologicalSpace k := ⊥
let : DiscreteTopology k := ⟨rfl⟩
let : TopologicalSpace A := m.adicTopology
let : IsTopologicalRing A := m.ringFilterBasis.isTopologicalRing
let : IsLinearTopology A A := m.isLinearTopology
RingHom.FormallySmoothTop.{max v w} (algebraMap k A)) :
IsRegularLocalRing A
Tag 0C34, a lemma
Tag 0C34 in the Stacks Project.
exists_residueField_algHom_section, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/LocalRings/CoefficientFieldsAndRegularity.lean, line 106. References: EGA 0 (19.5.4.4), “special case”.
A complete local algebra over a field whose residue field is separable over the base field has a coefficient field: the residue homomorphism has a section by an algebra homomorphism.
public theorem exists_residueField_algHom_section
{k : Type*} {A : Type*} [Field k] [CommRing A] [IsLocalRing A] [Algebra k A]
[IsAdicComplete (IsLocalRing.maximalIdeal A) A]
(hsep : Algebra.IsSeparableExtension k (IsLocalRing.ResidueField A)) :
∃ σ : IsLocalRing.ResidueField A →ₐ[k] A,
(Ideal.Quotient.mkₐ k (IsLocalRing.maximalIdeal A)).comp σ =
AlgHom.id k (IsLocalRing.ResidueField A)
Tag 0C35, a lemma
Tag 0C35 in the Stacks Project.
exists_algEquiv_mvPowerSeries_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/LocalRings/CoefficientFieldsAndRegularity.lean, line 144. References: EGA 0 (19.6.4), “special case”; EGA 0 (19.8.8), “(i), special case”; EGA 0 (21.9.2), “special case”; SGA 1 II (5.6), “(iii)”.
A complete regular local algebra over a field whose residue field is separable over the base field is isomorphic, as an algebra over that field, to a multivariable formal power series ring over its residue field.
public theorem exists_algEquiv_mvPowerSeries_residueField
{k : Type u} {A : Type v} [Field k] [CommRing A] [Algebra k A]
[IsRegularLocalRing A] [IsAdicComplete (IsLocalRing.maximalIdeal A) A]
(hsep : Algebra.IsSeparableExtension k (IsLocalRing.ResidueField A)) :
Nonempty
(A ≃ₐ[k] MvPowerSeries
(Fin (Module.finrank (IsLocalRing.ResidueField A) (IsLocalRing.CotangentSpace A)))
(IsLocalRing.ResidueField A))
Tag 07EJ, a lemma
Tag 07EJ in the Stacks Project.
isFormallySmooth_maximalIdeal_of_isRegularLocalRing, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/LocalRings/CoefficientFieldsAndRegularity.lean, line 565.
A regular local algebra over a field whose residue field is separable over the base field is formally smooth for its maximal-ideal adic topology.
public theorem isFormallySmooth_maximalIdeal_of_isRegularLocalRing.{u, v, w}
{k : Type v} {A : Type w} [Field k] [CommRing A] [Algebra k A]
[IsRegularLocalRing A]
(hsep : Algebra.IsSeparableExtension k (IsLocalRing.ResidueField A)) :
FormallySmoothDiscreteMaximalIdeal.{u, v, w} (algebraMap k A)
Tag 07VH, a lemma
Tag 07VH in the Stacks Project.
smoothAt_iff_formallySmoothNAdic_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/LocalRings/CoefficientFieldsAndRegularity.lean, line 671. References: EGA 0 (22.6.4), “c) <=> d)”; EGA IV (6.8.6), “a) ⇔ c)”; EGA IV (17.5.3), “a) ⇔ d)”; SGA 1 III (1.9), “Noetherian A”.
Let
A → Bbe a finite type map withANoetherian, and let the primeq ⊆ Blie over the primep ⊆ A. Then the map is smooth atqif and only if the canonical local mapA_p → B_qis formally smooth for the maximal-ideal-adic topology onB_q.
public theorem smoothAt_iff_formallySmoothNAdic_localization.{u, v}
{A : Type u} {B : Type v} [CommRing A] [CommRing B] [Algebra A B]
[IsNoetherianRing A] [Algebra.FiniteType A B]
(p : Ideal A) (q : Ideal B) [p.IsPrime] [q.IsPrime] [q.LiesOver p] :
Algebra.SmoothAt A B q ↔
RingHom.FormallySmoothNAdic.{max u v, u, v}
(@algebraMap (Localization.AtPrime p) (Localization.AtPrime q) _ _
(Localization.AtPrime.algebraOfLiesOver p q))
(maximalIdeal (Localization.AtPrime q))
Sources
Section15.40 Some results on power series rings#
Section 15.40 of the Stacks Project, Tag 07NK. 4 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07NL, a lemma
Tag 07NL in the Stacks Project.
isFormallySmooth_mvPowerSeries, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesFormallySmooth.lean, line 622.
Stacks 07NL. Formal power series rings over a characteristic-zero field, over a field of characteristic
p, and over a Cohen ring are formally smooth overℚ,𝔽_p, andℤ, respectively, for their maximal-ideal-adic topologies.
public theorem isFormallySmooth_mvPowerSeries.{u} (n p : ℕ)
(K L Λ : Type*) [Field K] [CharZero K] [Field L] [Fact p.Prime] [CharP L p]
[CommRing Λ] [IsDomain Λ] [IsCohenRing Λ] :
letI : Algebra (ZMod p) L := ZMod.algebra L p
@IsFormallySmooth.{u} ℚ (MvPowerSeries (Fin n) K) inferInstance
(⊥ : Ideal ℚ).adicTopology (⊥ : Ideal ℚ).ringFilterBasis.isTopologicalRing
(Ideal.isLinearTopology ⊥) inferInstance
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin n) K)).adicTopology
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin n) K)).ringFilterBasis.isTopologicalRing
(Ideal.isLinearTopology _) (algebraMap ℚ (MvPowerSeries (Fin n) K)) ∧
@IsFormallySmooth.{u} (ZMod p) (MvPowerSeries (Fin n) L) inferInstance
(⊥ : Ideal (ZMod p)).adicTopology
(⊥ : Ideal (ZMod p)).ringFilterBasis.isTopologicalRing
(Ideal.isLinearTopology ⊥) inferInstance
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin n) L)).adicTopology
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin n) L)).ringFilterBasis.isTopologicalRing
(Ideal.isLinearTopology _) (algebraMap (ZMod p) (MvPowerSeries (Fin n) L)) ∧
@IsFormallySmooth.{u} ℤ (MvPowerSeries (Fin n) Λ) inferInstance
(⊥ : Ideal ℤ).adicTopology (⊥ : Ideal ℤ).ringFilterBasis.isTopologicalRing
(Ideal.isLinearTopology ⊥) inferInstance
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin n) Λ)).adicTopology
(IsLocalRing.maximalIdeal (MvPowerSeries (Fin n) Λ)).ringFilterBasis.isTopologicalRing
(Ideal.isLinearTopology _) (algebraMap ℤ (MvPowerSeries (Fin n) Λ))
Tag 07NM, a lemma
Tag 07NM in the Stacks Project.
main_theorem_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesMaps.lean, line 148. The attribute's comment: “(1)”. References: SGA 1 II (4.14), “special case”; SGA 1 III (2.3), “special case”; SGA 2 IV (5.5), “special case”; SGA 3 VIIB (5.5.2), “partial”.
Statement (1). If
y_1, ..., y_nis a regular system of parameters ofA = K[[x_1, ..., x_n]], then the canonical substitution mapK[[Y_1, ..., Y_n]] → A,Y_i ↦ y_i, is an isomorphism.The canonical map is
MvPowerSeries.substAlgHom (hasSubst_of_mem_maximalIdeal y): the substitutionX i ↦ y i, which is defined precisely because eachy ilies inm_Aand hence has zero constant coefficient, and which is the unique continuousK-algebra map sendingX itoy i. The conclusion states that this map sendsX itoy iand is bijective — i.e. is an isomorphism ofK-algebras.
theorem main_theorem_one (K : Type*) [Field K] (n : ℕ)
(y : Fin n → maximalIdeal (MvPowerSeries (Fin n) K)) (hy : IsRegularSystemOfParameters y) :
(∀ i,
(MvPowerSeries.substAlgHom (hasSubst_of_mem_maximalIdeal y) :
MvPowerSeries (Fin n) K →ₐ[K] MvPowerSeries (Fin n) K)
(MvPowerSeries.X i) = (y i : MvPowerSeries (Fin n) K)) ∧
Function.Bijective
((MvPowerSeries.substAlgHom (hasSubst_of_mem_maximalIdeal y) :
MvPowerSeries (Fin n) K →ₐ[K] MvPowerSeries (Fin n) K))
main_theorem_two, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesMaps.lean, line 217. The attribute's comment: “(2)”. References: EGA 0 (17.1.4), “more general”; EGA 0 (17.1.7), “special case”.
Statement (2). If
z_1, ..., z_rform part of a regular system of parameters forA = K[[x_1, ..., x_n]], thenr <= nandA/(z_1, ..., z_r)is isomorphic (as aK-algebra) to the power series ringK[[Y_1, ..., Y_{n-r}]].
theorem main_theorem_two (K : Type*) [Field K] (n r : ℕ)
(z : Fin r → maximalIdeal (MvPowerSeries (Fin n) K))
(hz : FormsPartOfRegularSystemOfParameters z) :
r ≤ n ∧
Nonempty
((MvPowerSeries (Fin n) K ⧸
Ideal.span (Set.range (fun i => (z i : MvPowerSeries (Fin n) K)))) ≃ₐ[K]
MvPowerSeries (Fin (n - r)) K)
main_theorem_three, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesMaps.lean, line 594. The attribute's comment: “(3)”. References: SGA 1 III (2.3), “special case”.
Statement (3). Let
Lambdabe a Cohen ring with uniformizer the prime numberpr, and letB = Lambda[[x_1, ..., x_n]]. Ifp, y_1, ..., y_nis a regular system of parameters ofB(wherep = prviewed inBvia the coefficient inclusion), then the canonicalLambda-algebra homomorphismLambda[[Y_1, ..., Y_n]] -> BsendingY_itoy_i—cohenSubstAlgHom, them_Λ-adic translation followed by substitution of the normalized family — is an isomorphism: it sendsX itoy iand it is bijective.
theorem main_theorem_three (Λ : Type*) [CommRing Λ] [IsDomain Λ] [IsDiscreteValuationRing Λ]
(hΛ : IsCohenRing Λ) (n : ℕ) (pr : ℕ) (hunif : maximalIdeal Λ = Ideal.span {(pr : Λ)})
(p : maximalIdeal (MvPowerSeries (Fin n) Λ))
(hp : (p : MvPowerSeries (Fin n) Λ) = algebraMap Λ (MvPowerSeries (Fin n) Λ) (pr : Λ))
(y : Fin n → maximalIdeal (MvPowerSeries (Fin n) Λ))
(hrsp : IsRegularSystemOfParameters (Fin.cons p y)) :
(∀ i, cohenSubstAlgHom hΛ y (MvPowerSeries.X i) = (y i : MvPowerSeries (Fin n) Λ)) ∧
Function.Bijective (cohenSubstAlgHom hΛ y)
main_theorem_four, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesMaps.lean, line 778. The attribute's comment: “(4)”. References: EGA 0 (17.1.7), “special case”.
Statement (4). Let
Lambdabe a Cohen ring with uniformizer the prime numberpr, and letB = Lambda[[x_1, ..., x_n]]. Ifp, z_1, ..., z_rform part of a regular system of parameters forB(the length-(r+1)sequencep, z_1, ..., z_r, withpthe uniformizer viewed inB), thenr <= nandB/(z_1, ..., z_r)is isomorphic (as aLambda-algebra) to the power series ringLambda[[Y_1, ..., Y_{n-r}]].
theorem main_theorem_four (Λ : Type*) [CommRing Λ] [IsDomain Λ] [IsDiscreteValuationRing Λ]
(hΛ : IsCohenRing Λ) (n r : ℕ) (pr : ℕ) (hunif : maximalIdeal Λ = Ideal.span {(pr : Λ)})
(p : maximalIdeal (MvPowerSeries (Fin n) Λ))
(hp : (p : MvPowerSeries (Fin n) Λ) = algebraMap Λ (MvPowerSeries (Fin n) Λ) (pr : Λ))
(z : Fin r → maximalIdeal (MvPowerSeries (Fin n) Λ))
(hz : FormsPartOfRegularSystemOfParameters (Fin.cons p z)) :
r ≤ n ∧
Nonempty
((MvPowerSeries (Fin n) Λ ⧸
Ideal.span (Set.range (fun i => (z i : MvPowerSeries (Fin n) Λ)))) ≃ₐ[Λ]
MvPowerSeries (Fin (n - r)) Λ)
Tag 07NN, a lemma
Tag 07NN in the Stacks Project.
exists_powerSeries_presentation_of_isLocalHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesFormallySmooth.lean, line 1087. References: EGA 0 (19.8.8), “more general”; SGA 2 IV (4.8), “more general”; SGA 2 IX (2.3), “more general”.
Stacks 07NN. A local homomorphism
A → Bof Noetherian complete local rings admits a commutative presentation by surjections from power series ringsRandS. According to the residue characteristic, these are power series rings over fields or over Cohen rings. The mapR → Scarries a regular system of parameters to part of one, is flat, and has regular closed fibre.
public theorem exists_powerSeries_presentation_of_isLocalHom
{A : Type u} {B : Type v}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[IsAdicComplete (IsLocalRing.maximalIdeal A) A]
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
[IsAdicComplete (IsLocalRing.maximalIdeal B) B]
(f : A →+* B) [IsLocalHom f] :
∃ (R S : Type (max u v)) (_ : CommRing R) (_ : IsRegularLocalRing R)
(_ : IsAdicComplete (IsLocalRing.maximalIdeal R) R)
(_ : CommRing S) (_ : IsRegularLocalRing S)
(_ : IsAdicComplete (IsLocalRing.maximalIdeal S) S)
(g : R →+* S) (qA : R →+* A) (qB : S →+* B),
Function.Surjective qA ∧ Function.Surjective qB ∧
IsLocalHom g ∧ IsLocalHom qA ∧ IsLocalHom qB ∧
f.comp qA = qB.comp g ∧
(∃ (xs : List R) (ys : List S) (zs : List S),
Ideal.ofList xs = IsLocalRing.maximalIdeal R ∧
xs.length = (IsLocalRing.maximalIdeal R).spanFinrank ∧
Ideal.ofList ys = IsLocalRing.maximalIdeal S ∧
ys.length = (IsLocalRing.maximalIdeal S).spanFinrank ∧
ys = xs.map g ++ zs ∧
(ringChar (IsLocalRing.ResidueField A) = 0 →
∃ (nR nS : ℕ) (kR kS : Type (max u v)) (_ : Field kR) (_ : Field kS),
Nonempty (R ≃+* MvPowerSeries (Fin nR) kR) ∧
Nonempty (S ≃+* MvPowerSeries (Fin nS) kS)) ∧
(∀ p : ℕ, 0 < p → ringChar (IsLocalRing.ResidueField A) = p →
∃ (nR nS : ℕ) (ΛR ΛS : Type (max u v))
(_ : CommRing ΛR) (_ : IsDomain ΛR) (_ : IsCohenRing ΛR)
(_ : CommRing ΛS) (_ : IsDomain ΛS) (_ : IsCohenRing ΛS),
Nonempty (R ≃+* MvPowerSeries (Fin nR) ΛR) ∧
Nonempty (S ≃+* MvPowerSeries (Fin nS) ΛS) ∧
IsLocalRing.maximalIdeal ΛR = Ideal.span {(p : ΛR)} ∧
IsLocalRing.maximalIdeal ΛS = Ideal.span {(p : ΛS)} ∧
∃ xs', xs = (p : R) :: xs')) ∧
letI : Algebra R S := g.toAlgebra
Module.Flat R S ∧
IsRegularLocalRing (S ⧸ Ideal.map g (IsLocalRing.maximalIdeal R))
Tag 09Q8, a lemma
Tag 09Q8 in the Stacks Project.
isNoetherianCompleteLocalRing_pullback, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteLocalRing/PowerSeriesFormallySmooth.lean, line 1415. References: EGA IV (19.3.2.1), “(iii)”.
Stacks 09Q8. The pullback of two surjective maps of complete Noetherian local rings is again a complete Noetherian local ring.
public theorem isNoetherianCompleteLocalRing_pullback.{u, v, w}
{R : Type u} {S : Type v} {S' : Type w}
[CommRing R] [IsLocalRing R] [IsNoetherianRing R]
[IsAdicComplete (IsLocalRing.maximalIdeal R) R]
[CommRing S] [IsLocalRing S] [IsNoetherianRing S]
[IsAdicComplete (IsLocalRing.maximalIdeal S) S]
[CommRing S'] [IsLocalRing S'] [IsNoetherianRing S']
[IsAdicComplete (IsLocalRing.maximalIdeal S') S']
(f : S →+* R) (f' : S' →+* R)
(hf : Function.Surjective f) (hf' : Function.Surjective f') :
∃ hlocal : IsLocalRing (f.pullback f'),
letI := hlocal
IsNoetherianRing (f.pullback f') ∧
IsAdicComplete (IsLocalRing.maximalIdeal (f.pullback f')) (f.pullback f')
Sources
Section15.41 Geometric regularity and formal smoothness#
Section 15.41 of the Stacks Project, Tag 07EK. 7 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07EL, a theorem
Tag 07EL in the Stacks Project.
formalSmoothness_maximalIdeal_characterizations, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 1088. References: EGA 0 (19.6.6), “a) <=> c)”; EGA 0 (19.6.4), “char 0: a) ⇔ c)”; EGA 0 (19.6.5), “form. smooth ⟹ geom reg”; EGA 0 (22.1.2), “base a field, Noetherian”; EGA 0 (22.2.2), “(i)&(ii), char p”; EGA 0 (22.2.3), “a) (char p)”; EGA 0 (22.7.2), “a) <=> c) char 0”; EGA 0 (22.5.8); EGA 0 (22.6.7), “(i) b) ⇔ d)”; EGA 0 (19.0.2), “special case”; EGA 0 (19.6.7), “19.6.7(ii), special case”.
Let
Abe a Noetherian local algebra over a fieldk. In characteristic zero,Ais a regular local ring if and only ifk → Ais formally smooth for the maximal-ideal adic topology. In prime characteristicp, the following are equivalent:
Ais geometrically regular overk;k → Ais formally smooth for the maximal-ideal adic topology;- every finite intermediate extension in
k¹ᵖgives a regular base change;Ais regular and the canonical cotangent-complex map is injective;Ais regular and the canonical map on Kähler differentials is injective.
public theorem formalSmoothness_maximalIdeal_characterizations
(k : Type u) (A : Type v) [Field k] [CommRing A] [Algebra k A]
[IsNoetherianRing A] [IsLocalRing A] :
(let m := IsLocalRing.maximalIdeal A
letI : TopologicalSpace k := ⊥
letI : DiscreteTopology k := ⟨rfl⟩
letI : TopologicalSpace A := m.adicTopology
letI : IsTopologicalRing A := m.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology A A := m.isLinearTopology
∀ [CharZero k],
IsRegularLocalRing A ↔
IsFormallySmooth.{max u v} (algebraMap k A)) ∧
(∀ (p : ℕ) [Fact p.Prime] [CharP k p],
letI : Algebra (ZMod p) k := ZMod.algebra k p
letI : Algebra (ZMod p) A :=
((algebraMap k A).comp (algebraMap (ZMod p) k)).toAlgebra
letI : IsScalarTower (ZMod p) k A := IsScalarTower.of_algebraMap_eq' rfl
letI : Algebra k (PerfectClosure k p) := (PerfectClosure.of k p).toAlgebra
let m := IsLocalRing.maximalIdeal A
letI : TopologicalSpace k := ⊥
letI : DiscreteTopology k := ⟨rfl⟩
letI : TopologicalSpace A := m.adicTopology
letI : IsTopologicalRing A := m.ringFilterBasis.isTopologicalRing
letI : IsLinearTopology A A := m.isLinearTopology
List.TFAE [
Algebra.IsGeometricallyRegular k A,
IsFormallySmooth.{max u v} (algebraMap k A),
(∀ (k' : IntermediateField k (PerfectClosure k p)),
FiniteDimensional k k' →
(∀ x : k', (x : PerfectClosure k p) ^ p ∈
Set.range (algebraMap k (PerfectClosure k p))) →
IsRegularRing (A ⊗[k] k')),
IsRegularLocalRing A ∧
Function.Injective
(Algebra.H1Cotangent.map k A (IsLocalRing.ResidueField A)
(IsLocalRing.ResidueField A)),
IsRegularLocalRing A ∧
Function.Injective
((KaehlerDifferential.mapBaseChange (ZMod p) k A).baseChange
(IsLocalRing.ResidueField A))])
Tag 07EM, an example
Tag 07EM in the Stacks Project.
formallySmooth_adic_examples_with_inseparable_residueField, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 1745. References: EGA 0 (19.6.5.2), “existence of examples”.
In characteristic
p, the local ringk[x, y]_(x, y ^ p - a) / (y ^ p - a - x)is geometrically regular overk, formally smooth both algebraically and for its maximal-ideal-adic topology, and has purely inseparable residue field. Closely relatedly, ifKis the perfect closure of𝔽ₚ(t), there is a map𝔽ₚ(s) → K[[x]]sendingstot + xwhich is formally smooth for the(x)-adic topology. For the latter map,dsanddxare the indicated bases of the Kähler differentials and the map on differentials sendsdstodx.
public theorem formallySmooth_adic_examples_with_inseparable_residueField
(p : ℕ) [Fact p.Prime] :
(∀ (k : Type u) [Field k] [CharP k p] (a : k),
a ∉ Set.range (fun b : k => b ^ p) →
let P := MvPolynomial (Fin 2) k
let m : Ideal P := Ideal.span
{MvPolynomial.X 0, MvPolynomial.X 1 ^ p - MvPolynomial.C a}
let g : P := MvPolynomial.X 1 ^ p - MvPolynomial.C a - MvPolynomial.X 0
∃ hm : m.IsPrime,
letI : m.IsPrime := hm
let B := Localization.AtPrime m
let A := B ⧸ Ideal.span {algebraMap P B g}
∃ hlocal : IsLocalRing A,
letI : IsLocalRing A := hlocal
IsNoetherianRing A ∧
Algebra.IsGeometricallyRegular k A ∧
IsPurelyInseparable k (IsLocalRing.ResidueField A) ∧
Algebra.FormallySmooth k A ∧
let n := IsLocalRing.maximalIdeal A
@IsAdicallyFormallySmooth k A _ _ n (algebraMap k A)) ∧
(let k := RatFunc (ZMod p)
let K := PerfectClosure k p
letI : Algebra k K := (PerfectClosure.of k p).toAlgebra
let A := PowerSeries K
∃ f : k →+* A,
f RatFunc.X =
PowerSeries.C (algebraMap k K RatFunc.X) + PowerSeries.X ∧
letI : Algebra k A := f.toAlgebra
letI : Algebra (ZMod p) A :=
(f.comp (algebraMap (ZMod p) k)).toAlgebra
letI : IsScalarTower (ZMod p) k A :=
IsScalarTower.of_algebraMap_eq' rfl
(∃ b : Module.Basis Unit k (KaehlerDifferential (ZMod p) k),
b () = KaehlerDifferential.D (ZMod p) k RatFunc.X) ∧
(∃ b : Module.Basis Unit A (KaehlerDifferential (ZMod p) A),
b () = KaehlerDifferential.D (ZMod p) A PowerSeries.X) ∧
KaehlerDifferential.map (ZMod p) (ZMod p) k A
(KaehlerDifferential.D (ZMod p) k RatFunc.X) =
KaehlerDifferential.D (ZMod p) A PowerSeries.X ∧
let x : Ideal A := Ideal.span {PowerSeries.X}
@IsAdicallyFormallySmooth k A _ _ x f)
Tag 07NP, a lemma
Tag 07NP in the Stacks Project.
flat_of_isFormallySmooth_maximalIdeal_adic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 595. References: SGA 1 III (1.7), “only if, flatness”.
Stacks 07NP. A formally smooth local homomorphism of Noetherian local rings, for the maximal-ideal-adic topologies on source and target, is flat.
public theorem flat_of_isFormallySmooth_maximalIdeal_adic.{v, w}
{A : Type v} {B : Type w}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
(f : A →+* B) [IsLocalHom f]
(hf : RingHom.FormallySmoothNAdic.{max v w} f (maximalIdeal B)) :
letI : Algebra A B := f.toAlgebra
Module.Flat A B
Tag 0DYH, a lemma
Tag 0DYH in the Stacks Project.
exact_jacobiZariski_residueField_of_formallySmoothNAdic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 755. References: EGA 0 (20.6.23), “residue field, m-adic”.
Let
A → Bbe a local homomorphism of Noetherian local rings which is formally smooth for the maximal-ideal-adic topology onB, and letKbe the residue field ofB. Then the canonical Jacobi–Zariski sequence
0 → H₁(L_{K/A}) → 𝔪_B/𝔪_B² → Ω[B⁄A] ⊗[B] K → Ω[K⁄A] → 0is exact.
public theorem exact_jacobiZariski_residueField_of_formallySmoothNAdic
{A : Type u} {B : Type v}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
(f : A →+* B) [IsLocalHom f]
(hf : RingHom.FormallySmoothNAdic.{max u v} f (maximalIdeal B)) :
let K := ResidueField B
letI : Algebra A B := f.toAlgebra
letI : Algebra A K := ((residue B).comp f).toAlgebra
letI : IsScalarTower A B K := IsScalarTower.of_algebraMap_eq' rfl
let e : Algebra.H1Cotangent B K ≃ₗ[B] CotangentSpace B :=
(h1Cotangent_equiv_cotangent_of_surjective B K residue_surjective).trans
(Ideal.Cotangent.equivOfEq _ _ (ker_residue (R := B)))
let i : Algebra.H1Cotangent A K → CotangentSpace B :=
fun x ↦ e (Algebra.H1Cotangent.map A B K K x)
let d : CotangentSpace B → K ⊗[B] Ω[B⁄A] :=
fun x ↦ Algebra.H1Cotangent.δ A B K (e.symm x)
Function.Injective i ∧
Function.Exact i d ∧
Function.Exact d (KaehlerDifferential.mapBaseChange A B K) ∧
Function.Surjective (KaehlerDifferential.mapBaseChange A B K)
Tag 07NQ, a proposition
Tag 07NQ in the Stacks Project.
RingHom.FormallySmoothNAdic.of_flat_of_specialFibre, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FormallySmooth/SpecialFibre.lean, line 401. The attribute's comment: “(2) ⟹ (3)”. References: EGA 0 (19.0.2), “I, one direction”; EGA 0 (19.7.1), “b) ⇒ a)”; SGA 1 III (1.7), “if direction”; SGA 1 III (1.7), “if direction”.
Stacks 07NQ, (2) ⟹ (3). A flat local homomorphism of Noetherian local rings whose special fibre is adically formally smooth over the residue field of the source is itself formally smooth for the maximal-ideal-adic topology.
theorem FormallySmoothNAdic.of_flat_of_specialFibre
(A : Type u) (B : Type v)
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
[Algebra A B] [IsLocalHom (algebraMap A B)] [Module.Flat A B]
(hbar : FormallySmoothNAdic.{max u v}
(algebraMap (ResidueField A) (ResidueField A ⊗[A] B))
(maximalIdeal (ResidueField A ⊗[A] B))) :
FormallySmoothNAdic.{max u v} (algebraMap A B) (maximalIdeal B)
flat_geometricallyRegular_specialFiber_formallySmooth_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 2253. References: EGA 0 (19.0.2), “I”; EGA 0 (19.7.1), “more general”; SGA 1 III (1.7), “Noetherian local rings”; SGA 1 III (1.3), “more general”.
Let
f : A → Bbe a local homomorphism of Noetherian local rings, letkbe the residue field ofA, and letB̄ = k ⊗[A] Bbe the special fibre. The following are equivalent:
fis flat andB̄is geometrically regular overk;fis flat andk → B̄is formally smooth for the maximal-ideal-adic topology;fis formally smooth for the maximal-ideal-adic topology onB.
public theorem flat_geometricallyRegular_specialFiber_formallySmooth_tfae
{A : Type u} {B : Type v}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
(f : A →+* B) [IsLocalHom f] :
letI : Algebra A B := f.toAlgebra
let k := ResidueField A
let Bbar := k ⊗[A] B
List.TFAE [
Module.Flat A B ∧ Algebra.IsGeometricallyRegular k Bbar,
Module.Flat A B ∧
RingHom.FormallySmoothNAdic.{max u v}
(algebraMap k Bbar) (maximalIdeal Bbar),
RingHom.FormallySmoothNAdic.{max u v} f (maximalIdeal B)]
Tag 07NR, a lemma
Tag 07NR in the Stacks Project.
exists_completeLocal_formallySmooth_lift, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 2512. References: EGA 0 (19.7.2), “existence, J = 𝔪”; EGA 0 (19.0.2), “III existence”; EGA 0 (19.7.1.3), “A complete, B geom reg”; EGA 0 (19.8.2), “(ii) existence”; EGA 0 (22.2.7), “(i)”.
Stacks 07NR. Let
Abe a Noetherian complete local ring and letBbe a Noetherian complete local algebra over the residue field ofA. IfBis formally smooth for its maximal-ideal-adic topology, then it is the special fibre of a Noetherian complete local ringCthat is adically formally smooth overAvia a local homomorphism.
public theorem exists_completeLocal_formallySmooth_lift
{A : Type u} {B : Type v}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[IsAdicComplete (maximalIdeal A) A]
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
[IsAdicComplete (maximalIdeal B) B]
[Algebra (ResidueField A) B]
(hB : RingHom.FormallySmoothNAdic.{max u v}
(algebraMap (ResidueField A) B) (maximalIdeal B)) :
∃ (C : Type (max u v)) (_ : CommRing C) (_ : IsNoetherianRing C)
(_ : IsLocalRing C) (_ : IsAdicComplete (maximalIdeal C) C)
(f : A →+* C) (_ : IsLocalHom f),
RingHom.FormallySmoothNAdic.{max u v} f (maximalIdeal C) ∧
letI : Algebra A C := f.toAlgebra
Nonempty ((ResidueField A ⊗[A] C) ≃ₐ[ResidueField A] B)
Tag 07NS, a remark
Tag 07NS in the Stacks Project.
exists_completeLocal_formallySmooth_lift_with_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/GeometricallyRegular/FormalSmoothness.lean, line 3531. References: EGA 0 (22.2.7), “(i)”.
Stacks 07NS. Consider local homomorphisms
A → A' → Bof Noetherian complete local rings such thatA → A'induces an isomorphism on residue fields. If the special fibre ofBoverA'is formally smooth, then it is induced by an adically formally smooth Noetherian complete localA-algebraCmapping locally toB.The completed base change of
CtoA'is again Noetherian, complete, local, and flat overA', and its induced map toBis surjective. Moreover,C → Bis surjective whenA → A'is, finite whenA → A'is finite, and the completed base-change map is an isomorphism whenA' → Bis flat.
public theorem exists_completeLocal_formallySmooth_lift_with_baseChange
{A : Type u} {A' : Type v} {B : Type w}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A]
[IsAdicComplete (maximalIdeal A) A]
[CommRing A'] [IsNoetherianRing A'] [IsLocalRing A']
[IsAdicComplete (maximalIdeal A') A']
[CommRing B] [IsNoetherianRing B] [IsLocalRing B]
[IsAdicComplete (maximalIdeal B) B]
(f : A →+* A') [IsLocalHom f]
(g : A' →+* B) [IsLocalHom g]
(hf : Function.Bijective (ResidueField.map f))
(hB : letI : Algebra A' B := g.toAlgebra
RingHom.FormallySmoothNAdic.{max u v w}
(algebraMap (ResidueField A') (ResidueField A' ⊗[A'] B))
(maximalIdeal (ResidueField A' ⊗[A'] B))) :
∃ (C : Type (max u v w)) (_ : CommRing C) (_ : IsNoetherianRing C)
(_ : IsLocalRing C) (_ : IsAdicComplete (maximalIdeal C) C)
(a : A →+* C) (_ : IsLocalHom a)
(c : C →+* B) (_ : IsLocalHom c),
c.comp a = g.comp f ∧
RingHom.FormallySmoothNAdic.{max u v w} a (maximalIdeal C) ∧
(letI : Algebra A A' := f.toAlgebra
letI : Algebra A' B := g.toAlgebra
letI : Algebra A C := a.toAlgebra
letI : Algebra (ResidueField A) (ResidueField A') := (ResidueField.map f).toAlgebra
∃ e : (ResidueField A ⊗[A] C) ≃ₐ[ResidueField A]
(ResidueField A' ⊗[A'] B),
(∀ x : ResidueField A,
e (Algebra.TensorProduct.includeLeft (R := A) (S := ResidueField A)
(A := ResidueField A) (B := C) x) =
Algebra.TensorProduct.includeLeft (R := A') (S := ResidueField A')
(A := ResidueField A') (B := B) (ResidueField.map f x)) ∧
(∀ y : C,
e (Algebra.TensorProduct.includeRight (R := A)
(A := ResidueField A) (B := C) y) =
Algebra.TensorProduct.includeRight (R := A')
(A := ResidueField A') (B := B) (c y))) ∧
(letI : Algebra A A' := f.toAlgebra
letI : Algebra A C := a.toAlgebra
let T := C ⊗[A] A'
let iA' : A' →+* T :=
(Algebra.TensorProduct.includeRight (R := A) (A := C) (B := A')).toRingHom
let J : Ideal T := (maximalIdeal A').map iA'
let D := AdicCompletion J T
∃ (t : T →+* B) (q : D →+* B)
(_ : IsNoetherianRing D) (_ : IsLocalRing D),
t.comp (Algebra.TensorProduct.includeLeft (R := A) (S := A)
(A := C) (B := A')).toRingHom = c ∧
t.comp iA' = g ∧
q.comp (algebraMap T D) = t ∧
IsAdicComplete (maximalIdeal D) D ∧
((algebraMap T D).comp iA').Flat ∧
Function.Surjective q ∧
(Function.Surjective f → Function.Surjective c) ∧
(f.Finite → c.Finite) ∧
(g.Flat → Function.Bijective q))
Sources
Section15.42 Regular ring maps#
Section 15.42 of the Stacks Project, Tag 07BY. 7 tags here are carried by 7 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07BZ, a definition
Tag 07BZ in the Stacks Project.
IsRegularRingHom, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 92.
A ring homomorphism is regular if it is flat and, over every prime of its source, its residue-field fibre is Noetherian and geometrically regular over that residue field.
public def IsRegularRingHom {R : Type u} {S : Type v} [CommRing R] [CommRing S]
(f : R →+* S) : Prop
Tag 07C0, a lemma
Tag 07C0 in the Stacks Project.
isRegularRingHom_tfae_localizations, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 469.
A ring homomorphism with Noetherian target is regular if and only if all its induced maps on local rings at corresponding prime ideals are regular, and if and only if this holds for maximal ideals of the target and their contractions.
public theorem isRegularRingHom_tfae_localizations
{R : Type u} {S : Type v} [CommRing R] [CommRing S]
(f : R →+* S) [IsNoetherianRing S] :
List.TFAE [
IsRegularRingHom f,
∀ (p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime] (h : p = q.comap f),
IsRegularRingHom (Localization.localRingHom p q f h),
∀ (m : Ideal R) [m.IsPrime] (m' : Ideal S) [m'.IsMaximal]
(h : m = m'.comap f),
IsRegularRingHom (Localization.localRingHom m m' f h)]
Tag 07C1, a lemma
Tag 07C1 in the Stacks Project.
isRegularRingHom_baseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 554.
A finite-type base change of a regular ring homomorphism is regular.
public theorem isRegularRingHom_baseChange
{R : Type u} {Λ : Type v} {R' : Type w}
[CommRing R] [CommRing Λ] [CommRing R'] [Algebra R Λ] [Algebra R R']
[Algebra.FiniteType R R']
(h : IsRegularRingHom (algebraMap R Λ)) :
IsRegularRingHom
(Algebra.TensorProduct.includeRight (R := R) (A := Λ) (B := R')).toRingHom
Tag 07QI, a lemma
Tag 07QI in the Stacks Project.
isRegularRingHom_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 704.
The composite of two regular ring homomorphisms is regular if all its fibres are Noetherian.
public theorem isRegularRingHom_comp
{A : Type u} {B : Type v} {C : Type w} [CommRing A] [CommRing B] [CommRing C]
(f : A →+* B) (g : B →+* C)
(hf : IsRegularRingHom f) (hg : IsRegularRingHom g)
(hNoetherian : ∀ (p : Ideal A) [p.IsPrime],
let : Algebra A C := (g.comp f).toAlgebra
IsNoetherianRing (p.Fiber C)) :
IsRegularRingHom (g.comp f)
Tag 07EP, a lemma
Tag 07EP in the Stacks Project.
isRegularRingHom_of_filteredColimit_smooth, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 1181.
The colimit of a small nonempty directed system of smooth
R-algebras, computed on underlying sets, whose residue-field fibres are Noetherian is regular overR.
public theorem isRegularRingHom_of_filteredColimit_smooth
{R : Type u} [CommRing R]
{J : Type w} [Preorder J] [IsDirectedOrder J] [Nonempty J] [Small.{max u v} J]
(F : J ⥤ CommAlgCat.{v} R) (c : Cocone F) (hc : IsColimit c)
[PreservesColimit (F ⋙ forget₂ (CommAlgCat.{v} R) CommRingCat.{v})
(forget CommRingCat.{v})]
(hsm : ∀ j, Algebra.Smooth R (F.obj j))
(hnoeth : ∀ (p : Ideal R) [p.IsPrime], IsNoetherianRing (p.Fiber c.pt)) :
IsRegularRingHom (algebraMap R c.pt)
Tag 07EQ, a lemma
Tag 07EQ in the Stacks Project.
isRegularRingHom_iff_isSeparableExtension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 1292.
A field extension is a regular ring map if and only if it is separable.
public theorem isRegularRingHom_iff_isSeparableExtension (k : Type u) (K : Type v)
[Field k] [Field K] [Algebra k K] :
IsRegularRingHom (algebraMap k K) ↔ Algebra.IsSeparableExtension k K
Tag 07NT, a lemma
Tag 07NT in the Stacks Project.
isRegularRingHom_of_comp_of_flat_of_surjectiveOnSpec, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Regular/RegularRingHom.lean, line 1314.
If a composite ring homomorphism is regular and the second homomorphism is flat and surjective on prime spectra, then the first homomorphism is regular.
public theorem isRegularRingHom_of_comp_of_flat_of_surjectiveOnSpec
{A : Type u} {B : Type v} {C : Type w}
[CommRing A] [CommRing B] [CommRing C]
(f : A →+* B) (g : B →+* C)
(hgf : IsRegularRingHom (g.comp f))
(hgflat : g.Flat)
(hgsurj : Function.Surjective (PrimeSpectrum.comap g)) :
IsRegularRingHom f
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.