10.125 Dimension of fibres to 10.135 Local complete…
Section10.125 Dimension of fibres#
Section 10.125 of the Stacks Project, Tag 00QC. 9 tags here are carried by 10 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00QD, a definition
Tag 00QD in the Stacks Project.
Algebra.relativeDimensionAt, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/Defs.lean, line 123. The attribute's comment: “The fibre Spec (S ⊗_R κ(𝔭)) is the homeomorphic subspace comap (algebraMap R S) ⁻¹' {𝔭} of Spec S, in which the source's point q̄ is 𝔮 itself, and 𝔭 = R ∩ 𝔮 is not an argument; dim_q̄ is topologicalKrullDimAt. The source's finite type hypothesis is unused by the definition and is left to the lemmas. See the module docstring.”. References: EGA IV (17.10.1), “affine case”.
The relative dimension of
S/Rat a prime𝔮ofS,dim_𝔮(S/R): the dimension of the fibre ofSpec S → Spec Rthrough𝔮at the point𝔮. The fibre is the subspacecomap (algebraMap R S) ⁻¹' {𝔭}ofSpec S, where𝔭 = R ∩ 𝔮, which is homeomorphic toSpec (S ⊗_R κ(𝔭))byPrimeSpectrum.preimageHomeomorphFiber.
public noncomputable def relativeDimensionAt (R : Type*) {S : Type*} [CommRing R] [CommRing S]
[Algebra R S] (𝔮 : Ideal S) [𝔮.IsPrime] : WithBot ℕ∞
Algebra.relativeDimension, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/Defs.lean, line 133. The attribute's comment: “The supremum of Algebra.relativeDimensionAt R 𝔮 over all primes 𝔮 of S, indexed by Spec S. See the module docstring.”.
The relative dimension of
S/R,dim(S/R): the supremum of the relative dimensionsdim_𝔮(S/R)over all primes𝔮ofS. It is-∞exactly whenSis the zero ring.
public noncomputable def relativeDimension (R S : Type*) [CommRing R] [CommRing S]
[Algebra R S] : WithBot ℕ∞
Tag 00QE, a lemma
Tag 00QE in the Stacks Project.
quasiFinite_over_polynomial_of_relativeDimension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/QuasiFinite.lean, line 1216.
Stacks tag 00QE (Lemma 10.125.2). Let
R → Sbe a finite type ring map,q ⊂ Sa prime lying overp = q ∩ R, with corresponding pointqbarof the fibre spectrumSpec(S ⊗_R κ(p)). If the relative dimensiondim_q(S/R)equalsn : ℕ, then there isg ∈ S,g ∉ q, and anR-algebra ring mapφ : R[t_1, …, t_n] → S_gsuch thatS_g = S[1/g]is finite type and quasi-finite overR[t_1, …, t_n]viaφ.
theorem quasiFinite_over_polynomial_of_relativeDimension
(R S : Type*) [CommRing R] [CommRing S] [Algebra R S] [Algebra.FiniteType R S]
(q : PrimeSpectrum S)
(p : Ideal R) [hp : p.IsPrime]
(qbar : PrimeSpectrum (p.Fiber S))
(hqbar : PrimeSpectrum.comap (fiberMap R S p) qbar = q)
(n : ℕ)
(hdim : relativeDimensionAt R S p qbar = (n : ℕ∞)) :
∃ (g : S), g ∉ q.asIdeal ∧
∃ (φ : MvPolynomial (Fin n) R →+* Localization.Away g),
φ.comp (algebraMap R (MvPolynomial (Fin n) R)) = algebraMap R (Localization.Away g) ∧
φ.FiniteType ∧ φ.QuasiFinite
Tag 0520, a lemma
Tag 0520 in the Stacks Project.
Algebra.exists_quasiFinite_mvPolynomial_away_comap_map_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/QuasiFiniteAffineSpace.lean, line 417. The attribute's comment: “R_f[x_1, …, x_n] is MvPolynomial (Fin n) (Localization.Away f), with x_{i+1} indexed by i : Fin n; the ideal (𝔭, x_{r+1}, …, x_n) is the sum of the extension of 𝔭 along the constants and the ideal generated by the variables indexed by {i | r ≤ i}. Quasi-finite is RingHom.QuasiFinite together with RingHom.FiniteType, and φ is recorded to be an R-algebra map. The algebra κ(𝔭) → κ(𝔮) is any one compatible with R.”.
Stacks 0520. Let
R → Sbe a ring map of finite type and let𝔮 ⊂ Sbe a prime lying over𝔭 ⊂ Rwithdim_𝔮(S/R) = nandtrdeg_{κ(𝔭)} κ(𝔮) = r. Then there aref ∈ R,f ∉ 𝔭,g ∈ S,g ∉ 𝔮and a quasi-finiteR-algebra mapφ : R_f[x_1, …, x_n] → S_gwithφ⁻¹(𝔮S_g) = (𝔭, x_{r+1}, …, x_n).
theorem Algebra.exists_quasiFinite_mvPolynomial_away_comap_map_eq
{R S : Type*} [CommRing R] [CommRing S] [Algebra R S] [Algebra.FiniteType R S]
(p : Ideal R) [p.IsPrime] (q : Ideal S) [q.IsPrime] [q.LiesOver p]
[Algebra p.ResidueField q.ResidueField] [IsScalarTower R p.ResidueField q.ResidueField]
{n r : ℕ} (hn : Algebra.relativeDimensionAt R q = n)
(hr : Algebra.trdeg p.ResidueField q.ResidueField = r) :
∃ f ∉ p, ∃ g ∉ q, ∃ φ : MvPolynomial (Fin n) (Localization.Away f) →+* Localization.Away g,
φ.comp (C.comp (algebraMap R (Localization.Away f))) =
algebraMap R (Localization.Away g) ∧
φ.FiniteType ∧ φ.QuasiFinite ∧
(q.map (algebraMap S (Localization.Away g))).comap φ =
Ideal.map C (p.map (algebraMap R (Localization.Away f))) ⊔
Ideal.span (X '' {i : Fin n | r ≤ (i : ℕ)})
Tag 00QF, a lemma
Tag 00QF in the Stacks Project.
Ideal.height_le_height_of_liesOver_of_quasiFiniteAt, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/QuasiFinite/Dimension.lean, line 242. The attribute's comment: “dim(S_𝔮) and dim(R_𝔭) are 𝔮.height and 𝔭.height, model-independently by IsLocalization.AtPrime.ringKrullDim_eq_height; quasi-finiteness at 𝔮 (Definition 00PL) is Algebra.QuasiFiniteAt R 𝔮, which the source's finite type hypothesis identifies with the source's notion by Algebra.quasiFiniteAt_iff_isOpen_singleton_fiber, and which the conclusion needs without it. See the module docstring.”.
Stacks 00QF. Let
R → Sbe a ring map, let𝔮be a prime ofSlying over the prime𝔭ofR, and assumeR → Sis quasi-finite at𝔮. Thendim(S_𝔮) = 𝔮.heightis at mostdim(R_𝔭) = 𝔭.height. The source's finite type hypothesis is not needed.
public theorem Ideal.height_le_height_of_liesOver_of_quasiFiniteAt {R S : Type*} [CommRing R]
[CommRing S] [Algebra R S] (𝔭 : Ideal R) (𝔮 : Ideal S) [𝔭.IsPrime] [𝔮.IsPrime]
[𝔮.LiesOver 𝔭] [Algebra.QuasiFiniteAt R 𝔮] : 𝔮.height ≤ 𝔭.height
Tag 00QG, a lemma
Tag 00QG in the Stacks Project.
ringKrullDim_le_natCard_of_quasiFinite_mvPolynomial, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/QuasiFinite/AffineSpaceDimension.lean, line 167. The attribute's comment: “The source's k[t_1, …, t_n] ⊂ S with S of finite type over k and the map quasi-finite is weakened to Algebra.QuasiFinite (MvPolynomial σ k) S with Finite σ, which the source's hypotheses imply (tag 00PM); neither finite type nor injectivity is used. See the module docstring.”.
Stacks 00QG. Let
kbe a field and letSbe a quasi-finite algebra over the polynomial ringk[t_i ; i ∈ σ]inn = #σvariables. Thendim(S) ≤ n: a quasi-finite cover of affinen-space has dimension at mostn.
public theorem ringKrullDim_le_natCard_of_quasiFinite_mvPolynomial (k : Type*) [Field k]
{σ S : Type*} [Finite σ] [CommRing S] [Algebra (MvPolynomial σ k) S]
[Algebra.QuasiFinite (MvPolynomial σ k) S] : ringKrullDim S ≤ Nat.card σ
Tag 00QH, a lemma
Tag 00QH in the Stacks Project.
Algebra.isOpen_setOf_relativeDimensionAt_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/Semicontinuity.lean, line 332. The attribute's comment: “The source's open neighbourhood V of a single prime 𝔮 with dim_𝔮(S/R) = n is pinned as the sublevel set {𝔮 | dim_𝔮(S/R) ≤ n}, whose openness the remark following the lemma in the source gives as an equivalent reading of it; dim_𝔮(S/R) is Algebra.relativeDimensionAt R 𝔮 (tag 00QD). See the module docstring.”.
Stacks 00QH. Let
R → Sbe a finite type ring map and letn : ℕ. The set of primes𝔮ofSat which the fibre ofSpec S → Spec Rhas dimension at mostn, that isdim_𝔮(S/R) ≤ n, is open inSpec S. Equivalently, every prime𝔮withdim_𝔮(S/R) = nhas an open neighbourhoodVinSpec Ssuch thatdim_{𝔮'}(S/R) ≤ nfor all𝔮' ∈ V.
public theorem isOpen_setOf_relativeDimensionAt_le {R S : Type*} [CommRing R] [CommRing S]
[Algebra R S] [Algebra.FiniteType R S] (n : ℕ) :
IsOpen {𝔮 : PrimeSpectrum S |
Algebra.relativeDimensionAt R 𝔮.asIdeal ≤ (n : WithBot ℕ∞)}
Tag 00QI, a lemma
Tag 00QI in the Stacks Project.
Algebra.IsPushout.relativeDimensionAt_comap_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/BaseChange.lean, line 195. The attribute's comment: “The source's equality of sublevel sets, for a bound n ≥ 0, is stated as the pointwise equality dim_{𝔮'}(S'/R') = dim_{f(𝔮')}(S/R) of relative dimensions, to which it is equivalent for all n at once; S' = R' ⊗_R S is the abstract Algebra.IsPushout R S R' S' and f is PrimeSpectrum.comap (algebraMap S S'). See the module docstring.”.
Let
R → Sbe a finite type ring map, letR → R'be any ring map, letS' = R' ⊗_R Sand letf : Spec S' → Spec Sbe the induced map on spectra. Then relative dimension is invariant under this base change:dim_{𝔮'}(S'/R') = dim_{f(𝔮')}(S/R)for every prime𝔮'ofS'. In particular, forn : ℕ, the inverse imagef⁻¹({𝔮 | dim_𝔮(S/R) ≤ n})is{𝔮' | dim_{𝔮'}(S'/R') ≤ n}.
public theorem relativeDimensionAt_comap_eq (R S R' S' : Type*) [CommRing R]
[CommRing S] [CommRing R'] [CommRing S'] [Algebra R S] [Algebra R R'] [Algebra R' S']
[Algebra S S'] [Algebra R S'] [IsScalarTower R R' S'] [IsScalarTower R S S']
[Algebra.IsPushout R S R' S'] [Algebra.FiniteType R S] (𝔮' : PrimeSpectrum S') :
Algebra.relativeDimensionAt R (PrimeSpectrum.comap (algebraMap S S') 𝔮').asIdeal =
Algebra.relativeDimensionAt R' 𝔮'.asIdeal
Tag 00QJ, a lemma
Tag 00QJ in the Stacks Project.
Algebra.isCompact_isOpen_setOf_relativeDimensionAt_le, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/Semicontinuity.lean, line 589. The attribute's comment: “"Quasi-compact open" is IsCompact V ∧ IsOpen V, in the order and form PrimeSpectrum.isCompact_isOpen_iff consumes; the second conjunct is tag 00QH for the underlying finite type ring map, the first is the content here. dim_𝔮(S/R) is Algebra.relativeDimensionAt R 𝔮 (tag 00QD). See the module docstring.”.
Stacks 00QJ. Let
R → Sbe a ring map of finite presentation and letn : ℕ. The setV_n = {𝔮 ∈ Spec S | dim_𝔮(S/R) ≤ n}of primes at which the fibre ofSpec S → Spec Rhas dimension at mostnis a quasi-compact open subset ofSpec S.
public theorem isCompact_isOpen_setOf_relativeDimensionAt_le {R S : Type*} [CommRing R]
[CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] (n : ℕ) :
IsCompact {𝔮 : PrimeSpectrum S |
Algebra.relativeDimensionAt R 𝔮.asIdeal ≤ (n : WithBot ℕ∞)} ∧
IsOpen {𝔮 : PrimeSpectrum S |
Algebra.relativeDimensionAt R 𝔮.asIdeal ≤ (n : WithBot ℕ∞)}
Tag 00QK, a lemma
Tag 00QK in the Stacks Project.
ValuationRing.ringKrullDim_fiber_maximalIdeal_eq_ringKrullDim_fiber_bot_and_equidimensional, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RelativeDimension/ValuationRing.lean, line 809. The attribute's comment: “S ⊗_R k is the fibre (IsLocalRing.maximalIdeal R).Fiber S and S ⊗_R K the fibre (⊥ : Ideal R).Fiber S, the residue fields κ(𝔪_R) and κ(⊥) being k and K because R is a local domain; dim is ringKrullDim and equidimensionality is Definition 0058. S a domain containing R is [IsDomain S] with [FaithfulSMul R S]. See the module docstring.”. References: EGA IV (14.3.10), “affine case”.
Stacks 00QK. Let
Rbe a valuation ring with residue fieldkand fraction fieldK, and letSbe a domain containingRwhich is of finite type overR. IfS ⊗_R kis not the zero ring, thendim (S ⊗_R k) = dim (S ⊗_R K), and in factSpec (S ⊗_R k)is equidimensional, so that each of its irreducible components has dimensiondim (S ⊗_R K).
public theorem ringKrullDim_fiber_maximalIdeal_eq_ringKrullDim_fiber_bot_and_equidimensional
{R S : Type*} [CommRing R] [IsDomain R] [ValuationRing R] [CommRing S] [IsDomain S]
[Algebra R S] [FaithfulSMul R S] [Algebra.FiniteType R S]
(hfib : Nontrivial ((IsLocalRing.maximalIdeal R).Fiber S)) :
ringKrullDim ((IsLocalRing.maximalIdeal R).Fiber S) =
ringKrullDim ((⊥ : Ideal R).Fiber S) ∧
TopologicalSpace.Equidimensional
(PrimeSpectrum ((IsLocalRing.maximalIdeal R).Fiber S))
Sources
Section10.126 Algebras and modules of finite presentation#
Section 10.126 of the Stacks Project, Tag 05N4. 11 tags here are carried by 10 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00QP, a lemma
Tag 00QP in the Stacks Project.
Algebra.FiniteType.iff_finiteType_tensorProduct, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 317. References: SGA 1 VIII (3.4); SGA 1 VIII (3.3), “finite type, affine”.
Stacks 00QP. Being of finite type descends along a faithfully flat base change: for a faithfully flat
R-algebraR', anR-algebraSis of finite type if and only ifR' ⊗[R] Sis of finite type overR'.
theorem Algebra.FiniteType.iff_finiteType_tensorProduct
(R S R' : Type*) [CommRing R] [CommRing S] [CommRing R']
[Algebra R S] [Algebra R R'] [Module.FaithfullyFlat R R'] :
Algebra.FiniteType R S ↔ Algebra.FiniteType R' (R' ⊗[R] S)
Tag 00QQ, a lemma
Tag 00QQ in the Stacks Project.
Declarations registered for the tag:
Algebra.FinitePresentation.baseChangeregistered withadd_to_stacksin StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 331 (StacksFrontier): “a base change of an algebra of finite presentation is of finite presentation”. References: EGA IV (8.6.2), “special case”; EGA IV (1.4.1); EGA IV (1.4.3), “(iii), special case”; EGA IV (1.6.2), “(iii), special case”; SGA 1 VIII (3.6), “partial”; SGA 3 XIX (2.1), “special case”.Algebra.FinitePresentation.of_finitePresentation_tensorProduct_of_faithfullyFlatregistered withadd_to_stacksin StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 333 (StacksFrontier): “finite presentation descends along a faithfully flat base change”. References: EGA IV (2.7.1), “special case”; EGA IV (2.7.1.1), “partial”; SGA 1 VIII (3.6), “affine case”; SGA 3 VIB (10.8), “special case”; SGA 3 XIX (2.1), “special case”; SGA 6 VIII (1.6), “special case”.
Tag 05N5, a lemma
Tag 05N5 in the Stacks Project.
Module.exists_finite_isBaseChange_of_surjective_algebraMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 667. The attribute's comment: “Stated for an arbitrary surjection Rₛ → R' from a localization Rₛ = S⁻¹R in place of R' = S⁻¹(R/I), of which it is the case R' = Rₛ ⧸ I·Rₛ; S⁻¹(M/IM) is the base change R' ⊗_R M, pinned by IsBaseChange R' g for the source's map g : M → M'. Items (1) and (2) are the two conjuncts.”.
Stacks 05N5. Let
Rbe a ring,S ⊆ Ra multiplicative subset,Rₛ = S⁻¹Rand letR'be a quotient ofRₛ(for instanceR' = S⁻¹(R/I) = Rₛ/I·Rₛfor an idealI ⊆ R). For every finiteR'-moduleM'there is a finiteR-moduleMand anR-linear mapg : M → M'exhibitingM'as the base changeR' ⊗_R M, i.e. asS⁻¹(M/IM); and ifM'is finitely presented overR', thenMmay be taken finitely presented overR.
theorem exists_finite_isBaseChange_of_surjective_algebraMap {R : Type u} [CommRing R]
(S : Submonoid R) (Rₛ : Type v) [CommRing Rₛ] [Algebra R Rₛ] [IsLocalization S Rₛ]
{R' : Type w} [CommRing R'] [Algebra R R'] [Algebra Rₛ R'] [IsScalarTower R Rₛ R']
(M' : Type t) [AddCommGroup M'] [Module R M'] [Module R' M'] [IsScalarTower R R' M']
[Module.Finite R' M'] (hsurj : Function.Surjective (algebraMap Rₛ R')) :
∃ (M : Type u) (_ : AddCommGroup M) (_ : Module R M) (g : M →ₗ[R] M'),
Module.Finite R M ∧ IsBaseChange R' g ∧
(Module.FinitePresentation R' M' → Module.FinitePresentation R M)
Tag 05N6, a lemma
Tag 05N6 in the Stacks Project.
Module.exists_finite_isLocalizedModule_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 478. The attribute's comment: “Localizations are abstract (IsLocalization S Rₛ, IsLocalizedModule S f); the induced isomorphism S⁻¹M' → S⁻¹M is pinned as IsLocalizedModule S (f ∘ₗ φ); M' is produced in the universe of R. Items (1) and (2) are the two conjuncts, (2) as an implication about the same M'.”.
Stacks 05N6. Let
Rbe a ring,S ⊆ Ra multiplicative subset,ManR-module andf : M → Mₛa localization ofMatS, over a localizationRₛofRatS.
- If
Mₛ = S⁻¹Mis a finiteRₛ-module, then there is a finiteR-moduleM'and anR-linear mapφ : M' → Minducing an isomorphismS⁻¹M' ≅ S⁻¹M, spelledIsLocalizedModule S (f ∘ₗ φ).- If
Mₛis moreover a finitely presentedRₛ-module, thenM'is of finite presentation overR.
theorem exists_finite_isLocalizedModule_comp {R : Type u} [CommRing R] (S : Submonoid R)
(Rₛ : Type v) [CommRing Rₛ] [Algebra R Rₛ] [IsLocalization S Rₛ]
{M : Type w} [AddCommGroup M] [Module R M]
{Mₛ : Type t} [AddCommGroup Mₛ] [Module R Mₛ] [Module Rₛ Mₛ] [IsScalarTower R Rₛ Mₛ]
(f : M →ₗ[R] Mₛ) [IsLocalizedModule S f] [Module.Finite Rₛ Mₛ] :
∃ (M' : Type u) (_ : AddCommGroup M') (_ : Module R M') (φ : M' →ₗ[R] M),
Module.Finite R M' ∧ IsLocalizedModule S (f ∘ₗ φ) ∧
(Module.FinitePresentation Rₛ Mₛ → Module.FinitePresentation R M')
Tag 05GJ, a lemma
Tag 05GJ in the Stacks Project.
Module.exists_finite_isLocalizedModule_comp_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 527. The attribute's comment: “The case S = p.primeCompl of 05N6 (Module.exists_finite_isLocalizedModule_comp), stated in the same shape: localizations are abstract, the induced isomorphism M'ₚ → Mₚ is pinned as IsLocalizedModule p.primeCompl (f ∘ₗ φ), M' is produced in the universe of R, and items (1) and (2) are the two conjuncts, (2) as an implication about the same M'.”.
Stacks 05GJ. Let
Rbe a ring,p ⊆ Ra prime ideal,ManR-module andf : M → Mₚa localization ofMatp.primeCompl, over a localizationRₚofRatp.
- If
Mₚis a finiteRₚ-module, then there is a finiteR-moduleM'and anR-linear mapφ : M' → Minducing an isomorphismM'ₚ ≅ Mₚ, spelledIsLocalizedModule p.primeCompl (f ∘ₗ φ).- If
Mₚis moreover a finitely presentedRₚ-module, thenM'is of finite presentation overR.
theorem exists_finite_isLocalizedModule_comp_atPrime {R : Type u} [CommRing R]
(p : Ideal R) [p.IsPrime]
(Rₚ : Type v) [CommRing Rₚ] [Algebra R Rₚ] [IsLocalization.AtPrime Rₚ p]
{M : Type w} [AddCommGroup M] [Module R M]
{Mₚ : Type t} [AddCommGroup Mₚ] [Module R Mₚ] [Module Rₚ Mₚ] [IsScalarTower R Rₚ Mₚ]
(f : M →ₗ[R] Mₚ) [IsLocalizedModule p.primeCompl f] [Module.Finite Rₚ Mₚ] :
∃ (M' : Type u) (_ : AddCommGroup M') (_ : Module R M') (φ : M' →ₗ[R] M),
Module.Finite R M' ∧ IsLocalizedModule p.primeCompl (f ∘ₗ φ) ∧
(Module.FinitePresentation Rₚ Mₚ → Module.FinitePresentation R M')
Tag 00QR, a lemma
Tag 00QR in the Stacks Project.
exists_away_prod_of_localRingHom_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/LocalIsomorphism/ProductSplitting.lean, line 429.
Let
φ : R → Sbe a ring map of commutative rings, and letq ⊆ Sbe a prime ideal lying over the primep ⊆ R(i.e.p = q.comap φ). AssumeSis of finite presentation overR, and that the induced map on localizationsφ_p : R_p → S_q(Localization.localRingHom) is bijective. Then there existf : Rwithf ∉ pand anR_f-algebraCsuch thatS_f ≅ R_f × CasR_f-algebras, whereS_f := Localization.Away (φ f)is given theR_f-algebra structure induced byLocalization.awayMap φ f.
theorem exists_away_prod_of_localRingHom_bijective (R S : Type) [CommRing R] [CommRing S] [Algebra R
S] (p : Ideal R) [p.IsPrime]
(q : Ideal S) [q.IsPrime] (hpq : p = q.comap (algebraMap R S)) [Algebra.FinitePresentation R S]
(hiso : Function.Bijective (Localization.localRingHom p q (algebraMap R S) hpq)) :
∃ f : R,
f ∉ p ∧
∃ (C : Type) (_ : CommRing C) (_ : Algebra (Localization.Away f) C),
letI : Algebra (Localization.Away f) (Localization.Away (algebraMap R S f)) :=
(Localization.awayMap (algebraMap R S) f).toAlgebra
Nonempty
(Localization.Away (algebraMap R S f) ≃ₐ[Localization.Away f]
(Localization.Away f × C))
Tag 00QS, a lemma
Tag 00QS in the Stacks Project.
Algebra.FinitePresentation.exists_algEquiv_localizationAway_of_algEquiv_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/LocalIsomorphism/AwayIsomorphism.lean, line 484. The attribute's comment: “The local rings S_q, S'_{q'} are abstract (IsLocalization.AtPrime Sq q with IsScalarTower R S Sq, so that the R-algebra structure is the composite R → S → Sq), which makes the hypothesis available for any model; the localizations S_g, S'_{g'} of the conclusion are the models Localization.Away g, Localization.Away g', a choice that costs no strength by uniqueness of localizations. As in the source only the existence of an R-algebra isomorphism is claimed, not the compatibility with the given isomorphism of local rings that the proof also produces. See the module docstring.”.
Let
Rbe a ring, letSandS'beR-algebras of finite presentation, and letq ⊆ S,q' ⊆ S'be primes. If the local ringsS_qandS'_{q'}are isomorphic asR-algebras, then there areg ∈ S,g ∉ qandg' ∈ S',g' ∉ q'such thatS_gandS'_{g'}are isomorphic asR-algebras.
public theorem exists_algEquiv_localizationAway_of_algEquiv_atPrime {R : Type u} [CommRing R]
{S : Type v} [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S] {S' : Type v'}
[CommRing S'] [Algebra R S'] [Algebra.FinitePresentation R S'] (q : Ideal S) [q.IsPrime]
(q' : Ideal S') [q'.IsPrime] (Sq : Type w) [CommRing Sq] [Algebra S Sq]
[IsLocalization.AtPrime Sq q] [Algebra R Sq] [IsScalarTower R S Sq] (Sq' : Type w')
[CommRing Sq'] [Algebra S' Sq'] [IsLocalization.AtPrime Sq' q'] [Algebra R Sq']
[IsScalarTower R S' Sq'] (e : Sq ≃ₐ[R] Sq') :
∃ g ∉ q, ∃ g' ∉ q', Nonempty (Localization.Away g ≃ₐ[R] Localization.Away g')
Tag 0G8U, a lemma
Tag 0G8U in the Stacks Project.
finiteType_of_isNilpotent_quotient_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nilpotent/Descent.lean, line 437. References: SGA 3 VIB (1.3.0), “(i)”.
Stacks Tag 0G8U (Lemma 10.126.8). Let
Rbe a ring, letIbe a nilpotent ideal ofR, and letSbe anR-algebra such that the induced ring mapR ⧸ I → S ⧸ ISis of finite type. Then the structure mapR → Sis of finite type.
theorem finiteType_of_isNilpotent_quotient_finiteType
(R : Type*) [CommRing R] (I : Ideal R)
(S : Type*) [CommRing S] [Algebra R S]
(hI : IsNilpotent I)
(hft : Algebra.FiniteType (R ⧸ I) (S ⧸ I.map (algebraMap R S))) :
Algebra.FiniteType R S
Tag 07RD, a lemma
Tag 07RD in the Stacks Project.
surjective_of_surjective_mod_locallyNilpotent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Nilpotent/Descent.lean, line 260.
Stacks Tag 07RD. Let
Rbe a commutative ring,I ⊆ Ra locally nilpotent ideal, andf : S →ₐ[R] S'anR-algebra map such that the induced mapS → S'/IS'is surjective andS'is of finite type overR. Thenfis surjective.The proof is the Stacks 07RD argument, reorganized to avoid the
R₀reduction by observing that the finitely many nilpotent coefficients generate a nilpotent ideal directly via Tag 00IM withJ = ⊥.Let
P := MvPolynomial ι Rfor aFintype ι. SinceS'is finite type overR, choose a surjectiveR-algebra homφ : P →ₐ[R] S'(generatorsxⱼ := φ (X j)).
hsurjsaysπ ∘ fis surjective, whereπ = Ideal.Quotient.mk (IS'). Hence for eachjthere issⱼ ∈ Swithπ (xⱼ) = π (f sⱼ), i.e.xⱼ - f sⱼ ∈ IS' = Ideal.map (algebraMap R S') I.An element of
IS'is a finite sumΣ_k (algebraMap aₖ)·bₖwithaₖ ∈ I,bₖ ∈ S'. Lift eachbₖthroughφtoβₖ ∈ P, and seth j := Σ_k (C aₖ) · βₖ ∈ P, so thatφ (h j) = xⱼ - f sⱼ. Defineg j := X j - h j, whenceφ (g j) = xⱼ - (xⱼ - f sⱼ) = f sⱼ ∈ range f.Let
𝔫 ⊆ Rbe the ideal generated by the finite set{aₖ}of coefficients used above. Eachaₖ ∈ Iis nilpotent (hI), so𝔫 ≤ (⊥ : Ideal R).radical(the nilradical); and𝔫is finitely generated. By Tag 00IM (Ideal.exists_pow_le_of_le_radical_of_fg) there isNwith𝔫 ^ N ≤ ⊥, i.e.𝔫 ^ N = ⊥:𝔫is nilpotent. Put𝔐 := Ideal.map C 𝔫 ⊆ P; then𝔐 ^ N ≤ Ideal.map C (𝔫 ^ N) = ⊥, so𝔐is nilpotent, and eachh j ∈ 𝔐(it is a combination ofC aₖwithaₖ ∈ 𝔫).By
aeval_sub_nilpotent_surjective,σ := aeval g : P →ₐ[R] Pis surjective. Therefore theR-subalgebra ofPgenerated by{g j}is⊤(it containsσ.range = ⊤, andAlgebra.adjoin R {g j} = σ.range). Applyingφ:S' = φ '' P = φ '' (adjoin R \{g j}) = Algebra.adjoin R \{φ (g j)} = Algebra.adjoin R \{f sⱼ} ≤ (f.range : Subalgebra R S'), since eachf sⱼ ∈ f.rangeandf.rangeis anR-subalgebra. Hencef.range = ⊤, i.e.fis surjective. ∎
theorem surjective_of_surjective_mod_locallyNilpotent
(I : Ideal R) (hI : I.IsLocallyNilpotent)
(f : S →ₐ[R] S')
(hsurj : Function.Surjective
((Ideal.Quotient.mk (extendedIdeal I S')).comp f.toRingHom))
(hft : Algebra.FiniteType R S') :
Function.Surjective f
Tag 087P, a lemma
Tag 087P in the Stacks Project.
isomorphism_of_flat_surjective_087P, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/Away.lean, line 334.
Stacks Tag 087P (Lemma 10.126.10). Under the stated hypotheses there is
g ∈ S,g ∉ q, withφ_g : S_g → S'_gan isomorphism (i.e. bijective).
theorem isomorphism_of_flat_surjective_087P
(hIq : I.map (algebraMap R S) ≤ q)
(hsurj : Function.Surjective (φ : S → S'))
(hiso : Function.Bijective (phiqBar I φ q Sq S'q))
(hft : (algebraMap R S).FiniteType)
(hfp : (algebraMap R S').FinitePresentation)
(hflat : Module.Flat R S'q) :
∃ g : S, g ∉ q ∧ Function.Bijective (phig φ g)
Tag 07RE, a lemma
Tag 07RE in the Stacks Project.
AlgHom.bijective_of_bijective_quotientMapₐ_of_le_nilradical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FaithfullyFlat/Descent.lean, line 743. The attribute's comment: “That I consists of nilpotents is spelled I ≤ nilradical R, the source's S/IS → S'/IS' is Ideal.quotientMapₐ applied to f, and finite type, finite presentation and flatness are instance arguments.”. References: SGA 1 III (4.2), “affine case + finiteness”.
Stacks 07RE. Let
I ⊆ Rbe an ideal all of whose elements are nilpotent, letSbe of finite type overRand letS'be of finite presentation and flat overR. If anR-algebra mapf : S →ₐ[R] S'induces a bijectionS/IS → S'/IS', thenfis bijective.
theorem AlgHom.bijective_of_bijective_quotientMapₐ_of_le_nilradical
{R : Type u} [CommRing R] {S : Type v} [CommRing S] {S' : Type w} [CommRing S']
[Algebra R S] [Algebra R S'] [Algebra.FiniteType R S] [Algebra.FinitePresentation R S']
[Module.Flat R S'] (I : Ideal R) (hI : I ≤ nilradical R) (f : S →ₐ[R] S')
(hf : Function.Bijective
(Ideal.quotientMapₐ (I.map (algebraMap R S')) f
(Ideal.map_le_iff_le_comap.mpr fun x hx ↦
show f (algebraMap R S x) ∈ I.map (algebraMap R S') from
f.commutes x ▸ Ideal.mem_map_of_mem _ hx) :
S ⧸ I.map (algebraMap R S) →ₐ[R] S' ⧸ I.map (algebraMap R S'))) :
Function.Bijective f
Sources
Section10.127 Colimits and maps of finite presentation#
Section 10.127 of the Stacks Project, Tag 00QL. 17 tags here are carried by 20 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0BUF, a lemma
Tag 0BUF in the Stacks Project.
CommRingCat.isFiltered_costructuredArrow_and_isDenseAt_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/ColimitPresentation/Canonical.lean, line 407. The attribute's comment: “The category 𝓘 is CostructuredArrow P.ι A for P the property of being of finite presentation over R, and "the colimit of the A' is A" is P.ι.isDenseAt A, which pins the colimit cocone to the tautological one. No smallness device is needed. See the module docstring.”. References: EGA IV (1.9.3.1), “more general”.
Let
R → Abe a ring map and let𝓘 = CostructuredArrow P.ι Abe the category ofR-algebra mapsA' → AwithA'of finite presentation overR. Then𝓘is filtered, andAis the colimit of theA'over𝓘, via the tautological cocone whose leg atA' → Ais that map (which is whatFunctor.isDenseAtasserts).
public theorem isFiltered_costructuredArrow_and_isDenseAt_finitePresentation
{R : CommRingCat.{u}} (A : Under R) :
IsFiltered (CostructuredArrow
(ObjectProperty.ι fun B : Under R ↦ B.hom.hom.FinitePresentation) A) ∧
(ObjectProperty.ι fun B : Under R ↦ B.hom.hom.FinitePresentation).isDenseAt A
Tag 00QN, a lemma
Tag 00QN in the Stacks Project.
Algebra.exists_directedSystem_finitePresentation_lift_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Algebra/DirectLimit/FinitePresentation.lean, line 406. The attribute's comment: “Both sentences. The second is the implication Algebra.FiniteType R A → ∀ i j h, Function.Surjective (f i j h) inside the same existential, which is equivalent to stating it separately; A = colim G l is bijectivity of DirectLimit.Algebra.lift, which pins the comparison map. See the module docstring.”.
Every algebra is a direct limit of algebras of finite presentation. For a ring map
R → Athere is a directed systemGofR-algebras of finite presentation, indexed by a directed partially ordered setΛ, together with a compatible family ofR-algebra mapsg l : G l →ₐ[R] Awhose induced mapcolim_l G l → Ais bijective. IfAis of finite type overR, the system can moreover be chosen with all transition maps surjective.
public theorem Algebra.exists_directedSystem_finitePresentation_lift_bijective
(R : Type u) [CommRing R] (A : Type v) [CommRing A] [Algebra R A] :
∃ (Λ : Type (max u v)) (_ : PartialOrder Λ) (_ : Nonempty Λ) (_ : IsDirectedOrder Λ)
(G : Λ → Type (max u v)) (_ : ∀ l, CommRing (G l)) (_ : ∀ l, Algebra R (G l))
(f : ∀ i j, i ≤ j → G i →ₐ[R] G j) (_ : DirectedSystem G fun i j h ↦ ⇑(f i j h))
(g : ∀ l, G l →ₐ[R] A) (hg : ∀ i j h x, g j (f i j h x) = g i x),
(∀ l, Algebra.FinitePresentation R (G l)) ∧
(Algebra.FiniteType R A → ∀ i j (h : i ≤ j), Function.Surjective (f i j h)) ∧
Function.Bijective (DirectLimit.Algebra.lift G f A g hg)
Tag 00QO, a lemma
Tag 00QO in the Stacks Project.
CommRingCat.isFinitelyPresentable_under_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/Ring/FinitePresentation.lean, line 293. The attribute's comment: “Item (2) is IsFinitelyPresentable in Under R, which is bijectivity of colim Homᵣ(S, A_λ) → Homᵣ(S, colim A_λ) for every filtered system (Lemma 0032 identifies these with directed ones); item (3) is the surjectivity of that map, spelled as factoring a map through a member of the system, for every partially ordered directed system, the form Lemma 00QN provides. Both departures strengthen the equivalence. See the module docstring.”. References: EGA IV (8.14.2.2), “more general”; EGA IV (8.8.2.3), “f.p. => bijective”; EGA IV (8.8.2.1), “f.p. case: bijective”; EGA IV (8.13.1), “affine case, bijective”; EGA IV (8.14.2), “X, S affine”; EGA IV (8.14.2.2), “more general”.
Algebras of finite presentation are the finitely presentable objects. For an
R-algebraS, the following are equivalent:Sis of finite presentation overR;Sis a finitely presentable object of the categoryUnder RofR-algebras, that iscolim_λ Homᵣ(S, A_λ) → Homᵣ(S, colim_λ A_λ)is bijective for every filtered system ofR-algebras; and everyR-algebra map fromSto the colimit of a directed system ofR-algebras factors through one of its members, that is the same comparison map is merely surjective.
public theorem isFinitelyPresentable_under_tfae {R : CommRingCat.{u}} (S : Under R) :
List.TFAE
[ S.hom.hom.FinitePresentation,
IsFinitelyPresentable.{u} S,
∀ (Λ : Type u) [PartialOrder Λ] [Nonempty Λ] [IsDirected Λ (· ≤ ·)]
(A : Λ ⥤ Under R) (c : Cocone A), IsColimit c → ∀ g : S ⟶ c.pt,
∃ (l : Λ) (g' : S ⟶ A.obj l), g' ≫ c.ι.app l = g ]
Tag 07C3, a lemma
Tag 07C3 in the Stacks Project.
CommRingCat.ind_under_iff_exists_factorization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/Category/Ring/FinitePresentation.lean, line 514. The attribute's comment: “The family 𝓔 is an E : ObjectProperty (Under R) on the category Under R of R-algebras, and "Λ is a filtered colimit of members of 𝓔" is Mathlib's ObjectProperty.ind.{u} E Λ. E is not assumed small; the source's set-theoretic hypothesis is only a smallness device. See the module docstring.”.
Criterion for being a filtered colimit of algebras of a given family. Let
R → Λbe a ring map and letEbe a family ofR-algebras of finite presentation overR. ThenΛis a filtered colimit of members ofEif and only if everyR-algebra mapA → ΛwithAof finite presentation overRfactors asA → B → ΛwithBinE.
public theorem ind_under_iff_exists_factorization {R : CommRingCat.{u}} (Λ : Under R)
{E : ObjectProperty (Under R)} (hE : E ≤ fun B : Under R ↦ B.hom.hom.FinitePresentation) :
ObjectProperty.ind.{u} E Λ ↔
∀ A : Under R, A.hom.hom.FinitePresentation → ∀ f : A ⟶ Λ,
∃ (B : Under R) (g : A ⟶ B) (h : B ⟶ Λ), g ≫ h = f ∧ E B
Tag 05LI, a lemma
Tag 05LI in the Stacks Project.
Stacks.FinitePresentation.ColimitDescent.statement_two, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ModuleDescent/ColimitRing.lean, line 598. The attribute's comment: “(2)”.
Statement (2). If
Nis a finiteA-module andu : M → Nhas surjective base change toR, then its base change to someR_iis surjective.
theorem statement_two
(htrans : TransitionSystem φ) (hcocone : IsCoconeAlg φ ψ)
(hcolimN : IsModuleColimit φ ψ N)
(hN : Module.Finite A N)
(u : M →ₗ[A] N)
(h : Function.Surjective (LinearMap.baseChange S u)) :
∃ i : ι, Function.Surjective (LinearMap.baseChange (R i) u)
Stacks.FinitePresentation.ColimitDescent.statement_three, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ModuleDescent/LinearMapDescent.lean, line 115. The attribute's comment: “(3)”.
Statement (3). If
Nis a finitely presentedA-module andv : N ⊗_A R → M ⊗_A Ris anR-module map, then there is someiand anR_i-module mapv_i : N ⊗_A R_i → M ⊗_A R_iwhose base change alongψ i : R_i → S(i.e. composition with the canonical identification maps) recoversv. Concretely,vcomposed with the canonical map forNequals the canonical map forMcomposed withv_i.
theorem statement_three
(htrans : TransitionSystem φ) (hcocone : IsCoconeAlg φ ψ)
(hcolimM : IsModuleColimit φ ψ M)
(hN : Module.FinitePresentation A N)
(v : S ⊗[A] N →ₗ[S] S ⊗[A] M) :
∃ (i : ι) (vi : (R i) ⊗[A] N →ₗ[R i] (R i) ⊗[A] M),
(v.restrictScalars A) ∘ₗ (canonMod ψ N i)
= (canonMod ψ M i) ∘ₗ (vi.restrictScalars A)
Stacks.FinitePresentation.ColimitDescent.statement_four, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ModuleDescent/LinearMapDescent.lean, line 305. The attribute's comment: “(4)”.
Statement (4). If
Mis finite,Nis finitely presented, andu : M → Nhas base change toRan isomorphism, then its base change to someR_iis an isomorphism.
theorem statement_four
(htrans : TransitionSystem φ) (hcocone : IsCoconeAlg φ ψ)
(hcolimM : IsModuleColimit φ ψ M) (hcolimN : IsModuleColimit φ ψ N)
(hM : Module.Finite A M) (hN : Module.FinitePresentation A N)
(u : M →ₗ[A] N)
(h : Function.Bijective (LinearMap.baseChange S u)) :
∃ i : ι, Function.Bijective (LinearMap.baseChange (R i) u)
Stacks.FinitePresentation.ColimitDescent.statement_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ModuleDescent/ModuleColimit.lean, line 233. The attribute's comment: “(1)”.
Statement (1). If
Mis a finiteA-module andu, u' : M → NareA-module maps whose base changes toRagree, then their base changes to someR_ialready agree.
theorem statement_one
(hcolimN : IsModuleColimit φ ψ N)
(hM : Module.Finite A M)
(u u' : M →ₗ[A] N)
(h : LinearMap.baseChange S u = LinearMap.baseChange S u') :
∃ i : ι, LinearMap.baseChange (R i) u = LinearMap.baseChange (R i) u'
Tag 05N7, a lemma
Tag 05N7 in the Stacks Project.
Module.exists_finitePresentation_and_baseChange_eq_of_lift_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Module/DirectLimit/FinitePresentation.lean, line 295. The attribute's comment: “The colimit is a DirectedSystem of A-algebras whose comparison map colim_j S j → R is bijective, as in 00QN; items (2) and (3) are stated over an arbitrary base ring A and with the finiteness hypotheses of 05LI (3) and (1), of which they are instances, the source's form being A = R_λ and the system restricted to μ ≥ λ; φ = φ_μ ⊗ 1_R is the commuting square with the canonical maps LinearMap.rTensor M (algebraMap (S j) R). See the module docstring.”. References: EGA IV (8.5.3), “affine case”.
Let
Abe a ring, letSbe a directed system ofA-algebras over a nonempty directed preorderJwith transition mapsf i j : S i →ₐ[A] S j, and letRbe anA-algebra receiving compatible mapsalgebraMap (S j) Rwhich exhibit it as the colimitcolim_j S j. Then the category of finitely presentedR-modules is the colimit of the categories of finitely presentedS j-modules:
- every finitely presented
R-moduleMis isomorphic to the base changeR ⊗[S j] M_jof a finitely presentedS j-module, for somej;- for
A-modulesM,NwithMfinitely presented, everyR-linear mapR ⊗[A] M → R ⊗[A] Nis the base change of anS j-linear mapS j ⊗[A] M → S j ⊗[A] Nfor somej, in the sense that the square with the canonical mapsS j ⊗[A] M → R ⊗[A] Mcommutes;- for
A-modulesM,NwithMfinite, twoA-linear mapsu, u' : M → Nwithu ⊗ 1_R = u' ⊗ 1_Rsatisfyu ⊗ 1_{S j} = u' ⊗ 1_{S j}for somej.
public theorem exists_finitePresentation_and_baseChange_eq_of_lift_bijective
{J : Type w} [Preorder J] [Nonempty J] [IsDirectedOrder J] {A : Type u} [CommRing A]
{S : J → Type v} [∀ j, CommRing (S j)] [∀ j, Algebra A (S j)]
(f : ∀ i j, i ≤ j → S i →ₐ[A] S j) [DirectedSystem S fun i j h ↦ ⇑(f i j h)]
{R : Type v} [CommRing R] [Algebra A R] [∀ j, Algebra (S j) R]
[∀ j, IsScalarTower A (S j) R]
(hf : ∀ i j (h : i ≤ j) (x : S i), algebraMap (S j) R (f i j h x) = algebraMap (S i) R x)
(hR : Function.Bijective (DirectLimit.Algebra.lift S f R
(fun j ↦ IsScalarTower.toAlgHom A (S j) R) hf)) :
(∀ (M : Type t) [AddCommGroup M] [Module R M] [Module.FinitePresentation R M],
∃ (j : J) (Mj : Type v) (_ : AddCommGroup Mj) (_ : Module (S j) Mj),
Module.FinitePresentation (S j) Mj ∧ Nonempty (R ⊗[S j] Mj ≃ₗ[R] M)) ∧
(∀ (M : Type t) [AddCommGroup M] [Module A M] [Module.FinitePresentation A M]
(N : Type t') [AddCommGroup N] [Module A N] (φ : R ⊗[A] M →ₗ[R] R ⊗[A] N),
∃ (j : J) (φj : S j ⊗[A] M →ₗ[S j] S j ⊗[A] N), ∀ x : S j ⊗[A] M,
φ (LinearMap.rTensor M (IsScalarTower.toAlgHom A (S j) R).toLinearMap x) =
LinearMap.rTensor N (IsScalarTower.toAlgHom A (S j) R).toLinearMap (φj x)) ∧
(∀ (M : Type t) [AddCommGroup M] [Module A M] [Module.Finite A M]
(N : Type t') [AddCommGroup N] [Module A N] (u u' : M →ₗ[A] N),
u.baseChange R = u'.baseChange R →
∃ j : J, u.baseChange (S j) = u'.baseChange (S j))
Tag 05N8, a lemma
Tag 05N8 in the Stacks Project.
Algebra.TensorProduct.exists_of_directLimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Algebra/DirectLimit/Hom.lean, line 757. The attribute's comment: “The four items are the four conjuncts, each carrying only its own finiteness hypothesis. B ⊗_A R is R ⊗[A] B and u ⊗ 1 is Algebra.TensorProduct.lTensor; R = colim_i R_i is bijectivity of DirectLimit.Algebra.lift, as in 00QN; item (3)'s v = v_i ⊗ 1 is the commuting square with the comparison maps rTensor _ (g i). See the module docstring.”.
Stacks 05N8. Let
Abe a ring, letB,CbeA-algebras, and letRbe the colimit of a directed systemGofA-algebras with transition mapsfand structure mapsg i : G i →ₐ[A] R.
- If
Bis of finite type overAandu, u' : B →ₐ[A] Csatisfyu ⊗ 1 = u' ⊗ 1overR, thenu ⊗ 1 = u' ⊗ 1overG ifor somei.- If
Cis of finite type overAandu ⊗ 1is surjective overR, thenu ⊗ 1is surjective overG ifor somei.- If
Cis of finite presentation overA, then everyR-algebra mapv : R ⊗[A] C →ₐ[R] R ⊗[A] Bis the base change of aG i-algebra mapvᵢ : G i ⊗[A] C →ₐ[G i] G i ⊗[A] Bfor somei.- If
Bis of finite type andCof finite presentation overAandu ⊗ 1is bijective overR, thenu ⊗ 1is bijective overG ifor somei.
public theorem exists_of_directLimit {A : Type u} [CommRing A]
{B : Type v} [CommRing B] [Algebra A B] {C : Type w} [CommRing C] [Algebra A C]
{ι : Type t} [Preorder ι] [Nonempty ι] [IsDirectedOrder ι]
{G : ι → Type s} [∀ i, CommRing (G i)] [∀ i, Algebra A (G i)]
(f : ∀ i j, i ≤ j → G i →ₐ[A] G j) [DirectedSystem G fun i j h ↦ ⇑(f i j h)]
{R : Type r} [CommRing R] [Algebra A R] (g : ∀ i, G i →ₐ[A] R)
(hg : ∀ i j h x, g j (f i j h x) = g i x)
(hR : Function.Bijective (DirectLimit.Algebra.lift G f R g hg)) :
(Algebra.FiniteType A B → ∀ u u' : B →ₐ[A] C,
lTensor (S := R) R u = lTensor (S := R) R u' →
∃ i, lTensor (S := G i) (G i) u = lTensor (S := G i) (G i) u') ∧
(Algebra.FiniteType A C → ∀ u : B →ₐ[A] C,
Function.Surjective (lTensor (S := R) R u) →
∃ i, Function.Surjective (lTensor (S := G i) (G i) u)) ∧
(Algebra.FinitePresentation A C → ∀ v : R ⊗[A] C →ₐ[R] R ⊗[A] B,
∃ (i : ι) (vᵢ : G i ⊗[A] C →ₐ[G i] G i ⊗[A] B),
(v.restrictScalars A).comp (rTensor C (g i)) =
(rTensor B (g i)).comp (vᵢ.restrictScalars A)) ∧
(Algebra.FiniteType A B → Algebra.FinitePresentation A C → ∀ u : B →ₐ[A] C,
Function.Bijective (lTensor (S := R) R u) →
∃ i, Function.Bijective (lTensor (S := G i) (G i) u))
Tag 05N9, a lemma
Tag 05N9 in the Stacks Project.
CommRingCat.exists_isPushout_and_exists_eq_comp_and_exists_comp_eq_of_isColimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/ColimitPresentation/FinitePresentation.lean, line 869. The attribute's comment: “The colimit is a colimit cocone in CommRingCat over a filtered category, an algebra is a ring map, and A ≅ A_λ ⊗_{R_λ} R is IsPushout, so no tensor product is constructed. Items (2) and (3) are transposed along that pushout, which is Mathlib's spelling and drops the source's finite presentation of B_λ; item (3) needs A_λ of finite type only. See the module docstring.”.
Stacks 05N9. Let
R = colim_λ R_λbe a filtered colimit of rings, given by a filtered diagramFwith colimit coconec.
- Every finitely presented
R-algebraAis the base change of a finitely presentedR_λ-algebraA', in the sense that the squareR_λ → A',R_λ → R,A' → A,R → Ais a pushout.- If
A'is of finite presentation overR_λandBis the base change toRof anR_λ-algebraB', then everyR_λ-algebra mapρ : A' → Bfactors asρ = σ ≫ tthrough the base changeBₖofB'to someR_μwithμ ≥ λ, by anR_λ-algebra mapσand the canonical mapt : Bₖ → B. Transposed along the pushout of item 1, this says that everyR-algebra mapA' ⊗_{R_λ} R → B' ⊗_{R_λ} Ris the base change of anR_μ-algebra mapA' ⊗_{R_λ} R_μ → B' ⊗_{R_λ} R_μ.- If
A'is of finite type overR_λandφ, ψ : A' → B'areR_λ-algebra maps whose base changes toRagree, then their base changes toR_μagree for someμ ≥ λ.
public theorem exists_isPushout_and_exists_eq_comp_and_exists_comp_eq_of_isColimit
{J : Type v} [Category.{w} J] [IsFiltered J] {F : J ⥤ CommRingCat.{u}} {c : Cocone F}
(hc : IsColimit c) [PreservesColimit F (forget CommRingCat.{u})] :
(∀ (A : CommRingCat.{u}) (f : c.pt ⟶ A), f.hom.FinitePresentation →
∃ (j : J) (A' : CommRingCat.{u}) (f' : F.obj j ⟶ A') (a : A' ⟶ A),
f'.hom.FinitePresentation ∧ IsPushout f' (c.ι.app j) a f) ∧
(∀ (j : J) (A' B' B : CommRingCat.{u}) (f' : F.obj j ⟶ A') (g' : F.obj j ⟶ B')
(g : c.pt ⟶ B) (b : B' ⟶ B), f'.hom.FinitePresentation →
IsPushout g' (c.ι.app j) b g →
∀ ρ : A' ⟶ B, f' ≫ ρ = c.ι.app j ≫ g →
∃ (k : J) (h : j ⟶ k) (Bₖ : CommRingCat.{u}) (gₖ : F.obj k ⟶ Bₖ) (bₖ : B' ⟶ Bₖ)
(t : Bₖ ⟶ B) (σ : A' ⟶ Bₖ), IsPushout g' (F.map h) bₖ gₖ ∧ bₖ ≫ t = b ∧
gₖ ≫ t = c.ι.app k ≫ g ∧ f' ≫ σ = F.map h ≫ gₖ ∧ ρ = σ ≫ t) ∧
(∀ (j : J) (A' B' B : CommRingCat.{u}) (f' : F.obj j ⟶ A') (g' : F.obj j ⟶ B')
(g : c.pt ⟶ B) (b : B' ⟶ B), f'.hom.FiniteType → IsPushout g' (c.ι.app j) b g →
∀ φ ψ : A' ⟶ B', f' ≫ φ = g' → f' ≫ ψ = g' → φ ≫ b = ψ ≫ b →
∃ (k : J) (h : j ⟶ k) (Bₖ : CommRingCat.{u}) (gₖ : F.obj k ⟶ Bₖ) (bₖ : B' ⟶ Bₖ),
IsPushout g' (F.map h) bₖ gₖ ∧ φ ≫ bₖ = ψ ≫ bₖ)
Tag 00QT, a lemma
Tag 00QT in the Stacks Project.
exists_essFiniteType_directedSystem_colimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/Colimit.lean, line 450.
A local homomorphism
φ : R → Sof local rings is the colimit, over a directed setΛ, of a system of local homomorphismsψ_λ : R_λ → S_λof local rings such that eachR_λis essentially of finite type overℤand eachS_λis essentially of finite type overR_λ(viaψ_λ).The data is bundled in the existential as: *
Λwith aPreorder,NonemptyandIsDirectedOrderinstance — the directed set; *Rl,Sl— the families of local rings, with theirCommRingandIsLocalRingstructure; *rf,sf— the transition maps, forming directed systems (dsR,dsS); *ψ— the family of local homomorphisms (instLH), commuting with the transition maps (hψ).Condition (1) is encoded by the existence of ring isomorphisms
eR : colim R_λ ≃+* RandeS : colim S_λ ≃+* Sidentifying the colimit mapRing.DirectLimit.map ψ hψwithφ, i.e.φ ∘ eR = eS ∘ (colim ψ).
theorem exists_essFiniteType_directedSystem_colimit
(R S : Type u) [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S]
(φ : R →+* S) [IsLocalHom φ] :
∃ (Λ : Type u) (instP : Preorder Λ),
∃ (_ : Nonempty Λ) (_ : @IsDirectedOrder Λ instP.toLE)
(Rl : Λ → Type u) (Sl : Λ → Type u)
(_ : ∀ i, CommRing (Rl i)) (_ : ∀ i, CommRing (Sl i))
(rf : ∀ i j, i ≤ j → (Rl i →+* Rl j))
(sf : ∀ i j, i ≤ j → (Sl i →+* Sl j))
(_ : ∀ i, @IsLocalRing (Rl i) _)
(_ : ∀ i, @IsLocalRing (Sl i) _)
(ψ : ∀ i, Rl i →+* Sl i)
(_ : ∀ i, IsLocalHom (ψ i))
-- `rf`, `sf` form directed systems of rings
(_ : @DirectedSystem Λ instP Rl (fun i j h => ⇑(rf i j h)))
(_ : @DirectedSystem Λ instP Sl (fun i j h => ⇑(sf i j h)))
-- the squares commute: `ψ` is a morphism of directed systems
(hψ : ∀ i j (h : i ≤ j), (ψ j).comp (rf i j h) = (sf i j h).comp (ψ i)),
-- (1) the colimit of the system `R_λ → S_λ` is equal to `φ : R → S`
(∃ (eR : Ring.DirectLimit Rl (fun i j h => ⇑(rf i j h)) ≃+* R)
(eS : Ring.DirectLimit Sl (fun i j h => ⇑(sf i j h)) ≃+* S),
φ.comp eR.toRingHom = eS.toRingHom.comp (Ring.DirectLimit.map ψ hψ)) ∧
-- (2) each `R_λ` is essentially of finite type over `ℤ`
(∀ i, (Int.castRingHom (Rl i)).EssFiniteType) ∧
-- (3) each `S_λ` is essentially of finite type over `R_λ` (via `ψ_λ`)
(∀ i, (ψ i).EssFiniteType)
Tag 00QU, a lemma
Tag 00QU in the Stacks Project.
exists_colimit_presentation_of_essFiniteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/Colimit.lean, line 1374.
Let
φ : R → Sbe a local homomorphism of local rings which is essentially of finite type. Thenφis a filtered colimit of a system of local homomorphismsφ_λ : R_λ → S_λof local rings, where eachR_λis essentially of finite type overℤ, eachS_λis essentially of finite type overR_λ, and forλ ≤ μthe mapS_λ ⊗_{R_λ} R_μ → S_μrealizesS_μas a localization of a quotient ofS_λ ⊗_{R_λ} R_μ.
theorem exists_colimit_presentation_of_essFiniteType
(R S : Type) [CommRing R] [CommRing S] [Algebra R S]
[IsLocalRing R] [IsLocalRing S] (hφ : IsLocalHom (algebraMap R S))
(hft : Algebra.EssFiniteType R S) :
∃ (Λ : Type) (_ : PartialOrder Λ) (_ : IsDirected Λ (· ≤ ·)) (_ : Nonempty Λ)
(Rf Sf : Λ ⥤ CommRingCat) (φsys : Rf ⟶ Sf),
-- each `R_λ`, `S_λ` is a local ring
(∀ i, IsLocalRing (Rf.obj i)) ∧ (∀ i, IsLocalRing (Sf.obj i)) ∧
-- each `φ_λ` is a local homomorphism
(∀ i, IsLocalHom (φsys.app i).hom) ∧
-- each transition map is a local homomorphism
(∀ (i j : Λ) (h : i ≤ j), IsLocalHom (Rf.map h.hom).hom) ∧
(∀ (i j : Λ) (h : i ≤ j), IsLocalHom (Sf.map h.hom).hom) ∧
-- (1) the colimit of the system is `φ : R → S` (up to canonical isomorphism)
(∃ (iR : colimit Rf ≅ CommRingCat.of R) (iS : colimit Sf ≅ CommRingCat.of S),
iR.inv ≫ colimMap φsys ≫ iS.hom = CommRingCat.ofHom (algebraMap R S)) ∧
-- (2) each `R_λ` is essentially of finite type over `ℤ`
(∀ i, Algebra.EssFiniteType ℤ (Rf.obj i)) ∧
-- (3) each `S_λ` is essentially of finite type over `R_λ`
(∀ i, letI : Algebra (Rf.obj i) (Sf.obj i) := (φsys.app i).hom.toAlgebra
Algebra.EssFiniteType (Rf.obj i) (Sf.obj i)) ∧
-- (4) for `i ≤ j`, `S_j` is the localization of a quotient of `S_i ⊗_{R_i} R_j`
(∀ (i j : Λ) (h : i ≤ j), Stacks.EssentialFiniteness.LocalColimit.LocalizationOfQuotient φsys
h)
Tag 00QV, a lemma
Tag 00QV in the Stacks Project.
Stacks.EssentialFiniteness.ColimitPresentation.main_theorem_00qv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/EssentialFiniteness/ColimitFinitePresentation/BaseChangeLocalization.lean, line 599.
Stacks Project, Tag 00QV (Lemma 10.127.11).
Let
φ : R → Sbe a local homomorphism of local rings. IfSis essentially of finite presentation overR(viaφ), thenφis a filtered colimit of a directed system of local homomorphismsψ_λ : R_λ → S_λbetween local rings, with local transition maps, such that: (1) the colimit of the system isφ; (2) eachR_λis essentially of finite type overℤ; (3) eachψ_λis essentially of finite type; (4) forλ ≤ μ, the canonical base-change mapS_λ ⊗_{R_λ} R_μ → S_μexhibitsS_μas a localization ofS_λ ⊗_{R_λ} R_μat a prime.
theorem main_theorem_00qv
(R S : Type u) [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S]
(φ : R →+* S) (hφ : IsLocalHom φ)
(hfp : φ.EssFinitePresentation) :
∃ (Λ : Type u) (_ : Preorder Λ) (_ : Nonempty Λ) (_ : IsDirected Λ (· ≤ ·))
(Robj : Λ → Type u) (Sobj : Λ → Type u)
(_ : ∀ i, CommRing (Robj i)) (_ : ∀ i, CommRing (Sobj i))
(_ : ∀ i, IsLocalRing (Robj i)) (_ : ∀ i, IsLocalRing (Sobj i))
(fR : ∀ i j, i ≤ j → Robj i →+* Robj j)
(fS : ∀ i j, i ≤ j → Sobj i →+* Sobj j)
(ψ : ∀ i, Robj i →+* Sobj i)
(comm : ∀ i j (hij : i ≤ j), (ψ j).comp (fR i j hij) = (fS i j hij).comp (ψ i)),
-- the transition maps form directed systems of rings
(DirectedSystem Robj (fun i j h => (fR i j h : Robj i → Robj j))) ∧
(DirectedSystem Sobj (fun i j h => (fS i j h : Sobj i → Sobj j))) ∧
-- all transition maps and all `ψ_λ` are local homomorphisms
(∀ i j (hij : i ≤ j), IsLocalHom (fR i j hij)) ∧
(∀ i j (hij : i ≤ j), IsLocalHom (fS i j hij)) ∧
(∀ i, IsLocalHom (ψ i)) ∧
-- (1) the colimit of the system `R_λ → S_λ` recovers `φ : R → S`
(∃ (eR : Ring.DirectLimit Robj (fun i j h => (fR i j h : Robj i → Robj j)) ≃+* R)
(eS : Ring.DirectLimit Sobj (fun i j h => (fS i j h : Sobj i → Sobj j)) ≃+* S),
φ.comp eR.toRingHom = eS.toRingHom.comp (Ring.DirectLimit.map ψ comm)) ∧
-- (2) each `R_λ` is essentially of finite type over `ℤ`
(∀ i, Algebra.EssFiniteType ℤ (Robj i)) ∧
-- (3) each fiber map `ψ_λ` is essentially of finite type
(∀ i, (ψ i).EssFiniteType) ∧
-- (4) each transition map is a localization at a prime after base change
(∀ i j (hij : i ≤ j),
IsLocalizationAtPrimeOfBaseChange fR fS ψ comm i j hij)
Tag 00QX, a lemma
Tag 00QX in the Stacks Project.
RingHom.EssentiallyOfFinitePresentation.exists_isColimit_essFiniteType_module, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/ColimitSystem.lean, line 1365. The attribute's comment: “The system is a pair of functors A B : Λ ⥤ CommRingCat with a natural transformation φ : A ⟶ B, and a functor N : Λ ⥤ AddCommGrpCat with B.obj i-module structures compatible with the transition maps; S_λ ⊗_{R_λ} R_μ is the pushout in CommRingCat and (6) is IsBaseChange. Hypothesis (1) is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)), Mathlib having no such predicate; (2) and (3) are Mathlib's EssFiniteType (Definition 00QM (1)). The conclusion also asserts that each structure map ρ_λ : A.obj i → R is local, which is the source's "system of local homomorphisms of local rings" read as a system in the category of local rings; it is realized by the construction of 00QU and is not implied by (1)–(6). See the module docstring.”.
Stacks 00QX. Let
R → Sbe a local homomorphism of local rings which is essentially of finite presentation and letMbe a finitely presentedS-module. Then there are a nonempty directed setΛ, a systemφ : A ⟶ Bof local homomorphismsA.obj i → B.obj iof local rings, andB.obj i-modulesN.obj i, such that (1) the colimits ofA,BandNareR,SandM, compatibly withalgebraMap R Sand with theS-action onM; (2) eachA.obj iis essentially of finite type overℤ; (3) eachA.obj i → B.obj iis essentially of finite type; (4) eachN.obj iis a finiteB.obj i-module; (5) fori ≤ jthe ringB.obj jis a localization ofB.obj i ⊗_{A.obj i} A.obj jat a prime ideal; (6) fori ≤ jthe transition mapN.obj i → N.obj jexhibitsN.obj jas the base change ofN.obj ialongB.obj i → B.obj j. Moreover each structure mapA.obj i → Rof the colimit cocone is a local homomorphism, so that each transition mapA.obj i → A.obj jis local too and each𝔪_{A.obj i}is the contraction of the maximal ideal ofR.
public theorem RingHom.EssentiallyOfFinitePresentation.exists_isColimit_essFiniteType_module
{R S M : Type u} [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S]
[Algebra R S] [IsLocalHom (algebraMap R S)]
[AddCommGroup M] [Module S M] [Module.FinitePresentation S M]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) :
∃ (Λ : Type u) (_ : Preorder Λ) (_ : Nonempty Λ) (_ : IsDirected Λ (· ≤ ·))
(A B : Λ ⥤ CommRingCat.{u}) (φ : A ⟶ B) (N : Λ ⥤ AddCommGrpCat.{u})
(_ : ∀ i, Module (B.obj i) (N.obj i))
(hsmul : ∀ ⦃i j : Λ⦄ (h : i ⟶ j) (b : B.obj i) (m : N.obj i),
N.map h (b • m) = B.map h b • N.map h m)
(ρ : A ⟶ (Functor.const Λ).obj (CommRingCat.of R))
(σ : B ⟶ (Functor.const Λ).obj (CommRingCat.of S))
(ν : N ⟶ (Functor.const Λ).obj (AddCommGrpCat.of M))
(_ : IsColimit (Cocone.mk (CommRingCat.of R) ρ))
(_ : IsColimit (Cocone.mk (CommRingCat.of S) σ))
(_ : IsColimit (Cocone.mk (AddCommGrpCat.of M) ν)),
(∀ i, φ.app i ≫ σ.app i = ρ.app i ≫ CommRingCat.ofHom (algebraMap R S)) ∧
(∀ (i : Λ) (b : B.obj i) (m : N.obj i),
(ν.app i (b • m) : M) = HSMul.hSMul (α := S) (β := M) (σ.app i b) (ν.app i m)) ∧
(∀ i, IsLocalRing (A.obj i)) ∧ (∀ i, IsLocalRing (B.obj i)) ∧
(∀ i, IsLocalHom (φ.app i).hom) ∧
(∀ i, IsLocalHom (ρ.app i).hom) ∧
(∀ i, Algebra.EssFiniteType ℤ (A.obj i)) ∧
(∀ i, (φ.app i).hom.EssFiniteType) ∧
(∀ i, Module.Finite (B.obj i) (N.obj i)) ∧
(∀ ⦃i j : Λ⦄ (h : i ⟶ j),
letI := (pushout.desc (B.map h) (φ.app j) (φ.naturality h).symm).hom.toAlgebra
∃ (q : Ideal ↑(pushout (φ.app i) (A.map h))) (_ : q.IsPrime),
IsLocalization q.primeCompl ↑(B.obj j)) ∧
(∀ ⦃i j : Λ⦄ (h : i ⟶ j),
letI : Algebra ↑(B.obj i) ↑(B.obj j) := (B.map h).hom.toAlgebra
letI : Module ↑(B.obj i) ↑(N.obj j) := Module.compHom _ (B.map h).hom
letI : IsScalarTower ↑(B.obj i) ↑(B.obj j) ↑(N.obj j) :=
.of_algebraMap_smul fun _ _ => rfl
IsBaseChange ↑(B.obj j)
(⟨(N.map h).hom.toAddHom, hsmul h⟩ :
↑(N.obj i) →ₗ[↑(B.obj i)] ↑(N.obj j)))
Tag 00QY, a lemma
Tag 00QY in the Stacks Project.
CommRingCat.exists_colimitPresentation_arrow_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/ColimitPresentation/FiniteType.lean, line 406. The attribute's comment: “A ring map is an object of Arrow CommRingCat, and the source's item (1) is the bundled Limits.ColimitPresentation Λ X (diagram, cocone, colimiting), colimits in an arrow category being computed entrywise. The index is the source's nonempty directed poset; Mathlib's ObjectProperty.ind form follows from this one. See the module docstring.”.
A ring map is a directed colimit of finite type ring maps between
ℤ-algebras of finite type. Given a ring mapX : R ⟶ S, there are a nonempty directed posetΛand a diagram of ring mapsR_λ ⟶ S_λoverΛ, together with a colimit cocone exhibitingR ⟶ Sas its colimit, such that eachR_λis of finite type overℤand eachR_λ ⟶ S_λis of finite type.
public theorem exists_colimitPresentation_arrow_finiteType (X : Arrow CommRingCat.{u}) :
∃ (Λ : Type u) (_ : PartialOrder Λ) (_ : IsDirected Λ (· ≤ ·)) (_ : Nonempty Λ)
(pres : ColimitPresentation Λ X), ∀ i : Λ,
Algebra.FiniteType ℤ (pres.diag.obj i).left ∧ (pres.diag.obj i).hom.hom.FiniteType
Tag 0BTG, a lemma
Tag 0BTG in the Stacks Project.
integral_isColimit_directed_finite_of_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/IntegralClosure/Colimit.lean, line 641.
If
Sis integral overR, then the algebra mapR → Sis a filtered colimit of a directed system of module-finite ring mapsf_λ : R_λ → S_λwhose basesR_λare of finite type overℤ.
theorem integral_isColimit_directed_finite_of_finiteType
(R S : Type) [CommRing R] [CommRing S] [Algebra R S] [Algebra.IsIntegral R S] :
∃ D : DirectedRingMapSystem,
-- (1) Colimit: the colimit of the system equals the structural map `R → S`.
D.IsColimitEqual (algebraMap R S) ∧
-- (2) Finite type base: each `R_λ` is of finite type over `Z`.
(∀ a : D.Λ, Algebra.FiniteType ℤ (D.FR.obj a)) ∧
-- (3) Module-finite: each `f_λ : R_λ → S_λ` is finite.
(∀ a : D.Λ, RingHom.Finite (D.f.app a).hom)
Tag 00QZ, a lemma
Tag 00QZ in the Stacks Project.
exists_ringHomDirectedSystem_of_finiteType, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FiniteType/Colimit.lean, line 430.
Let
φ : R → Sbe a ring map withSof finite type overR. Then there exist a directed set(Λ, ≤)and a system of ring mapsφ_λ : R_λ → S_λoverΛsuch that:
- the colimit of the system recovers
φ : R → S(there are ring isomorphismsα : colim R_λ ≅ R,β : colim S_λ ≅ Swithβ ∘ (colim φ_λ) = φ ∘ α);- each
R_λis of finite type overℤ;- each
φ_λ : R_λ → S_λis of finite type;- for each
λ ≤ μ, the base-change mapθ_{λμ} : S_λ ⊗_{R_λ} R_μ → S_μis surjective.
theorem exists_ringHomDirectedSystem_of_finiteType
(R S : Type u) [CommRing R] [CommRing S] (φ : R →+* S)
(hft : φ.FiniteType) :
∃ (Λ : Type u) (_ : Preorder Λ) (_ : IsDirected Λ (· ≤ ·)) (_ : Nonempty Λ)
(sys : RingHomDirectedSystem Λ),
-- (1) the colimit recovers `φ : R → S`
(∃ (α : sys.colimR ≃+* R) (β : sys.colimS ≃+* S),
(β : sys.colimS →+* S).comp sys.colimφ = φ.comp (α : sys.colimR →+* R)) ∧
-- (2) each `R_λ` is of finite type over `ℤ`
(∀ l, (algebraMap ℤ (sys.R l)).FiniteType) ∧
-- (3) each `φ_λ` is of finite type
(∀ l, (sys.φ l).FiniteType) ∧
-- (4) each base-change map `θ_{λμ}` is surjective
(∀ ⦃i j : Λ⦄ (h : i ≤ j), Function.Surjective (sys.baseChangeMap h))
Tag 00R0, a lemma
Tag 00R0 in the Stacks Project.
exists_ringMapSystem_of_finitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/Colimit.lean, line 962.
Let
f : R →+* Sbe a ring map withSof finite presentation overR. Then there is a directed index setΛand a system of ring mapsR_λ → S_λ(packaged as𝓟 : RingMapSystem Λ) such that:
- there are ring isomorphisms
eR : colim R_λ ≃+* RandeS : colim S_λ ≃+* Sintertwining the colimit mapcolim ψwith the given mapf(f ∘ eR = eS ∘ colim ψ);- each
R_λis of finite type overℤ;- each
ψ_λ : R_λ →+* S_λis of finite type;- for each
λ ≤ μthe base change mapS_λ ⊗_{R_λ} R_μ →+* S_μis bijective (an isomorphism of rings).
theorem exists_ringMapSystem_of_finitePresentation {R S : Type u} [CommRing R] [CommRing S] (f : R
→+* S)
(hf : f.FinitePresentation) :
∃ (Λ : Type u) (_ : PartialOrder Λ) (_ : Nonempty Λ) (_ : IsDirected Λ (· ≤ ·))
(𝓟 : RingMapSystem.{u, u} Λ)
(eR : 𝓟.source.colimit ≃+* R) (eS : 𝓟.target.colimit ≃+* S),
-- (1) Colimit: the square commutes (`f ∘ eR = eS ∘ colim ψ`).
(∀ x, f (eR x) = eS (𝓟.colimitMap x)) ∧
-- (2) Finite type base: each `R_λ` is of finite type over `ℤ`.
(∀ i, Algebra.FiniteType ℤ (𝓟.source.R i)) ∧
-- (3) Finite type fibers: each `ψ_λ` is of finite type.
(∀ i, (𝓟.ψ i).FiniteType) ∧
-- (4) Cartesian transitions: the base change maps are isomorphisms.
(∀ ⦃i j : Λ⦄ (hij : i ≤ j), Function.Bijective (𝓟.baseChange hij))
Tag 00R1, a lemma
Tag 00R1 in the Stacks Project.
Algebra.exists_subring_finiteType_int_isPushout_isBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/FinitePresentation/ModuleDescent/SubringDescent.lean, line 390. The attribute's comment: “Stated as a descent along a single subring R₀ ⊆ R of finite type over ℤ rather than as a directed system: the six clauses of the source are recovered by taking for Λ the subrings of R of finite type over ℤ containing R₀ and base changing S₀ and M₀ along R₀ → R_λ, and conversely the source's system gives such an R₀ as the image of any R_λ in R. See the module docstring.”.
A finitely presented algebra with a finitely presented module descends to a subring of finite type over
ℤ. LetR → Sbe of finite presentation and letMbe a finitely presentedS-module. Then there are a subringR₀ ⊆ Rof finite type overℤ, anR₀-algebraS₀of finite type and a finiteS₀-moduleM₀, together with an algebra mapS₀ → Sand anS₀-linear mapf : M₀ → M, presentingSasR ⊗_{R₀} S₀andMasS ⊗_{S₀} M₀.
public theorem Algebra.exists_subring_finiteType_int_isPushout_isBaseChange
{R S : Type u} [CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S]
(M : Type v) [AddCommGroup M] [Module S M] [Module.FinitePresentation S M] :
∃ (R₀ : Subring R) (S₀ M₀ : Type u) (_ : CommRing S₀) (_ : Algebra R₀ S₀)
(_ : Algebra S₀ S) (_ : IsScalarTower R₀ S₀ S) (_ : AddCommGroup M₀)
(_ : Module S₀ M₀) (_ : Module S₀ M) (_ : IsScalarTower S₀ S M) (f : M₀ →ₗ[S₀] M),
Algebra.FiniteType ℤ R₀ ∧ Algebra.FiniteType R₀ S₀ ∧ Module.Finite S₀ M₀ ∧
Algebra.IsPushout R₀ R S₀ S ∧ IsBaseChange S f
Sources
Section10.128 More flatness criteria#
Section 10.128 of the Stacks Project, Tag 00R3. 10 tags here are carried by 11 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00R4, a lemma
Tag 00R4 in the Stacks Project.
Module.Flat.of_isMaximalCohenMacaulay_of_ringKrullDim_eq_add, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/MiracleFlatness.lean, line 292. The attribute's comment: “Regularity of the Noetherian local ring R is IsRegularLocalRing R; Cohen-Macaulayness of S (Definition 00N8) is Module.IsMaximalCohenMacaulay S S, i.e. depth_{𝔪_S}(S) = dim S; and dim(S/𝔪_R S) is the Krull dimension of the quotient of S by the image ideal of the maximal ideal of R. See the module docstring.”. References: EGA IV (6.1.5), “case M = B”; EGA IV (15.4.2), “e′)⇒b), partial”.
Miracle flatness, Stacks 00R4. Let
R → Sbe a local homomorphism of Noetherian local rings withRregular andSCohen–Macaulay, i.e.depth_{𝔪_S}(S) = dim(S). Ifdim(S) = dim(R) + dim(S/𝔪_R S), thenSis flat overR.
public theorem Module.Flat.of_isMaximalCohenMacaulay_of_ringKrullDim_eq_add
{R S : Type*} [CommRing R] [IsRegularLocalRing R] [CommRing S] [IsLocalRing S]
[IsNoetherianRing S] [Algebra R S] [IsLocalHom (algebraMap R S)]
(hS : Module.IsMaximalCohenMacaulay S S)
(hdim : ringKrullDim S =
ringKrullDim R + ringKrullDim (S ⧸ (maximalIdeal R).map (algebraMap R S))) :
Module.Flat R S
Tag 07DY, a lemma
Tag 07DY in the Stacks Project.
Module.Flat.of_ofList_eq_maximalIdeal_of_isWeaklyRegular_map, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/RegularSequence.lean, line 214. The attribute's comment: “Stated for a finite S-module M in place of S itself, the source's statement being the case M = S; a regular system of parameters is a list generating the maximal ideal whose length is its minimal number of generators; and the source's regular sequence is weakened to RingTheory.Sequence.IsWeaklyRegular, its nonvanishing clause being replaced by IsLocalHom. See the module docstring.”.
Let
Rbe a regular local ring, letxs = x₁, …, x_dbe a regular system of parameters ofR, that is, a list generating𝔪_Rwhose length is the minimal number of generators of𝔪_R, letSbe a Noetherian local ring receiving a local homomorphism fromRand letMbe a finiteS-module. If the images ofx₁, …, x_dinSform a weaklyM-regular sequence, thenMis flat overR. TakingM = Sshows thatR → Sis flat.
public theorem Module.Flat.of_ofList_eq_maximalIdeal_of_isWeaklyRegular_map
{R : Type*} (S : Type*) (M : Type*) [CommRing R] [IsRegularLocalRing R] [CommRing S]
[IsLocalRing S] [IsNoetherianRing S] [Algebra R S] [IsLocalHom (algebraMap R S)]
[AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M] [Module.Finite S M]
(xs : List R) (hxs : Ideal.ofList xs = maximalIdeal R)
(hmin : xs.length = (maximalIdeal R).spanFinrank)
(hreg : IsWeaklyRegular M (xs.map (algebraMap R S))) :
Module.Flat R M
Tag 00R6, a lemma
Tag 00R6 in the Stacks Project.
Module.Flat.exists_ge_flat_of_isColimit, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/SpreadingOut/Flat.lean, line 101. The attribute's comment: “The system "as in Lemma 00QX" is spelled out as the data and the six conditions concluded by RingHom.EssentiallyOfFinitePresentation.exists_isColimit_essFiniteType_module, together with locality of the transition maps A i → A j, which is the source's "system of local homomorphisms of local rings" read as a system in the category of local rings and is what 00MO needs to know (𝔪 i) A j is proper. The hypotheses of 00QX are not assumed, being either unused or consequences of the system. The conclusion is the cofinal form (∀ i, ∃ j ≥ i), which is what the source's proof produces and what the dependents use. See the module docstring.”.
Let
(A i → B i, N i)be a directed system as in 00QX, with colimitsR → SandM: eachA iis essentially of finite type overℤ, eachA i → B iis a local homomorphism of local rings essentially of finite type, each transition mapA i → A jis local, eachN iis a finiteB i-module, eachB jis a localization ofB i ⊗_{A i} A jat a prime ideal, and eachN jis the base change ofN ialongB i → B j. IfMis flat overR, then for every indexithere isj ≥ isuch thatN jis flat overA j.
public theorem exists_ge_flat_of_isColimit
{R S M : Type u} [CommRing R] [CommRing S] [Algebra R S]
[AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M] [Module.Flat R M]
{Λ : Type u} [Preorder Λ] [Nonempty Λ] [IsDirected Λ (· ≤ ·)]
{A B : Λ ⥤ CommRingCat.{u}} {φ : A ⟶ B} {N : Λ ⥤ AddCommGrpCat.{u}}
(mod : ∀ i, Module (B.obj i) (N.obj i))
(hsmul : ∀ ⦃i j : Λ⦄ (h : i ⟶ j) (b : B.obj i) (m : N.obj i),
N.map h (b • m) = B.map h b • N.map h m)
{ρ : A ⟶ (Functor.const Λ).obj (CommRingCat.of R)}
{σ : B ⟶ (Functor.const Λ).obj (CommRingCat.of S)}
{ν : N ⟶ (Functor.const Λ).obj (AddCommGrpCat.of M)}
(hR : IsColimit (Cocone.mk (CommRingCat.of R) ρ))
(_hS : IsColimit (Cocone.mk (CommRingCat.of S) σ))
(hM : IsColimit (Cocone.mk (AddCommGrpCat.of M) ν))
(hφ : ∀ i, φ.app i ≫ σ.app i = ρ.app i ≫ CommRingCat.ofHom (algebraMap R S))
(hν : ∀ (i : Λ) (b : B.obj i) (m : N.obj i),
(ν.app i (b • m) : M) = HSMul.hSMul (α := S) (β := M) (σ.app i b) (ν.app i m))
(hAlocal : ∀ i, IsLocalRing (A.obj i)) (hBlocal : ∀ i, IsLocalRing (B.obj i))
(hφlocal : ∀ i, IsLocalHom (φ.app i).hom)
(hAmaplocal : ∀ ⦃i j : Λ⦄ (h : i ⟶ j), IsLocalHom (A.map h).hom)
(hAft : ∀ i, Algebra.EssFiniteType ℤ (A.obj i))
(hφft : ∀ i, (φ.app i).hom.EssFiniteType)
(hNfin : ∀ i, Module.Finite (B.obj i) (N.obj i))
(hBloc : ∀ ⦃i j : Λ⦄ (h : i ⟶ j),
letI := (pushout.desc (B.map h) (φ.app j) (φ.naturality h).symm).hom.toAlgebra
∃ (q : Ideal ↑(pushout (φ.app i) (A.map h))) (_ : q.IsPrime),
IsLocalization q.primeCompl ↑(B.obj j))
(hNbc : ∀ ⦃i j : Λ⦄ (h : i ⟶ j),
letI : Algebra ↑(B.obj i) ↑(B.obj j) := (B.map h).hom.toAlgebra
letI : Module ↑(B.obj i) ↑(N.obj j) := Module.compHom _ (B.map h).hom
letI : IsScalarTower ↑(B.obj i) ↑(B.obj j) ↑(N.obj j) :=
.of_algebraMap_smul fun _ _ => rfl
IsBaseChange ↑(B.obj j)
(⟨(N.map h).hom.toAddHom, hsmul h⟩ : ↑(N.obj i) →ₗ[↑(B.obj i)] ↑(N.obj j)))
(i : Λ) :
∃ j, i ≤ j ∧
(letI : Module ↑(A.obj j) ↑(N.obj j) := Module.compHom _ (φ.app j).hom
Module.Flat ↑(A.obj j) ↑(N.obj j))
Tag 046Y, a lemma
Tag 046Y in the Stacks Project.
Module.Flat.injective_and_flat_quotient_range_of_injective_mapQ_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/LocalCriterionNonNoetherian.lean, line 279. The attribute's comment: “M/𝔪M is M ⧸ 𝔪 • (⊤ : Submodule R M) and ū the canonical Submodule.mapQ of u. Hypothesis (1) is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)), Mathlib having no such predicate. The cokernel N/u(M) is N ⧸ LinearMap.range u, and the two conclusions are conjoined; see the module docstring.”. References: SGA 1 IV (5.7), “(ii) ⟹ (i)”.
Let
R → Sbe a local homomorphism of local rings withSessentially of finite presentation overR, let𝔪be the maximal ideal ofR, and letu : M → Nbe a map ofS-modules withM,Nof finite presentation overSandNflat overR. If the induced mapū : M/𝔪M → N/𝔪Nis injective, thenuis injective andN/u(M)is flat overR.Here
M/𝔪MisM ⧸ 𝔪 • ⊤andūis the canonicalSubmodule.mapQ, which sends the class ofxto the class ofu x.
public theorem Module.Flat.injective_and_flat_quotient_range_of_injective_mapQ_maximalIdeal
{R S M N : Type*} [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
[AddCommGroup N] [Module R N] [Module S N] [IsScalarTower R S N]
[Module.FinitePresentation S M] [Module.FinitePresentation S N] [Module.Flat R N]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) (u : M →ₗ[S] N)
(hu :
Function.Injective
(Submodule.mapQ (maximalIdeal R • (⊤ : Submodule R M))
(maximalIdeal R • (⊤ : Submodule R N)) (u.restrictScalars R)
(Submodule.smul_top_le_comap_smul_top (maximalIdeal R) (u.restrictScalars R)))) :
Function.Injective u ∧ Module.Flat R (N ⧸ LinearMap.range u)
Tag 046Z, a lemma
Tag 046Z in the Stacks Project.
Module.Flat.isSMulRegular_and_flat_quotient_span_of_isSMulRegular_quotient, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/AlgebraicGeometry/Groupoids/Slicing/SliceRegularParameter.lean, line 238. The attribute's comment: “the case M := S, spelled with ring quotients by ideals”. References: EGA IV (11.3.8), “(c) ⇒ (a), special case”.
Stacks 046Z with both quotients taken by ideals. Let
R → Sbe a local homomorphism of local rings which is essentially of finite presentation and makesSflat overR. Ifa ∈ Sis a nonzerodivisor on the fibreS ⧸ 𝔪S, thenais a nonzerodivisor onSandS ⧸ (a)is again flat overR.This is the
M = Scase ofModule.Flat.isSMulRegular_and_flat_quotient_smul_of_isSMulRegular_maximalIdeal, restated with the fibre and the quotient written as quotients of the ring by ideals rather than as quotients of the moduleSbyI • ⊤. The two agree because extending an ideal to the top submodule of the ring returns the ideal, and that identification is an equality of submodules, so the hypothesis and the conclusion are transported alongSubmodule.quotEquivOfEqrather than compared as types.
public theorem Module.Flat.isSMulRegular_and_flat_quotient_span_of_isSMulRegular_quotient
{R S : Type*} [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [Module.Flat R S]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) {a : S}
(ha : IsSMulRegular (S ⧸ Ideal.map (algebraMap R S) (maximalIdeal R)) a) :
IsSMulRegular S a ∧ Module.Flat R (S ⧸ Ideal.span {a})
Module.Flat.isSMulRegular_and_flat_quotient_smul_of_isSMulRegular_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/RegularSequenceOverBase.lean, line 70. The attribute's comment: “Stated in module form (the source's case is M := S), with 𝔪M spelled Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S M) and fM spelled Ideal.span {f} • ⊤, and "nonzerodivisor" spelled IsSMulRegular. Hypothesis (1) is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)), Mathlib having no such predicate. The two conclusions are conjoined; see the module docstring.”. References: EGA IV (11.3.8), “(c) ⇒ (a), special case”.
Stacks 046Z. Let
R → Sbe a local homomorphism of local rings withSessentially of finite presentation overR, let𝔪be the maximal ideal ofR, and letMbe anS-module of finite presentation which is flat overR. Iff ∈ Sis a nonzerodivisor on the fibreM/𝔪M, thenfis a nonzerodivisor onMandM/fMis flat overR.The source is the case
M = S:fis a nonzerodivisor inSandS/fSis flat overR. Here𝔪Mis𝔪S • ⊤andfMisIdeal.span {f} • ⊤; see the module docstring.
public theorem Module.Flat.isSMulRegular_and_flat_quotient_smul_of_isSMulRegular_maximalIdeal
{R S M : Type*} [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
[Module.FinitePresentation S M] [Module.Flat R M]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) {f : S}
(hf :
IsSMulRegular (M ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S M))) f) :
IsSMulRegular M f ∧ Module.Flat R (M ⧸ (Ideal.span {f} • (⊤ : Submodule S M)))
Tag 0470, a lemma
Tag 0470 in the Stacks Project.
Module.Flat.isRegular_and_flat_quotient_ofList_smul_of_isRegular_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/RegularSequenceOverBase.lean, line 172. The attribute's comment: “Stated in module form (the source's case is M := S), with the sequence a List S, 𝔪M spelled Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S M) and the partial quotients spelled M ⧸ Ideal.ofList (fs.take i) • ⊤. "Regular sequence" is Mathlib's RingTheory.Sequence.IsRegular, which is Definition 00LF verbatim (nonvanishing clause included). Hypothesis (1) is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)), Mathlib having no such predicate. The two conclusions are conjoined; see the module docstring.”. References: EGA 0 (15.1.16), “c)=>a), ess fin pres”; EGA 0 (15.1.17), “(f_i) is M-regular”; EGA IV (11.3.8), “c) ⇒ a)”.
Stacks 0470. Let
R → Sbe a local homomorphism of local rings withSessentially of finite presentation overR, let𝔪be the maximal ideal ofR, and letMbe anS-module of finite presentation which is flat overR. If a sequencef₁, …, f_cof elements ofSis regular on the fibreM/𝔪M, then it is regular onMand every partial quotientM/(f₁, …, f_i)Mis flat overR.The source is the case
M = S:f₁, …, f_cis a regular sequence inSand eachS/(f₁, …, f_i)is flat overR. Here𝔪Mis𝔪S • ⊤andM/(f₁, …, f_i)MisM ⧸ Ideal.ofList (fs.take i) • ⊤; see the module docstring.
public theorem Module.Flat.isRegular_and_flat_quotient_ofList_smul_of_isRegular_maximalIdeal
{R S M : Type*} [CommRing R] [CommRing S] [IsLocalRing R] [IsLocalRing S] [Algebra R S]
[IsLocalHom (algebraMap R S)] [AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
[Module.FinitePresentation S M] [Module.Flat R M]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) (fs : List S)
(hfs :
RingTheory.Sequence.IsRegular
(M ⧸ (Ideal.map (algebraMap R S) (maximalIdeal R) • (⊤ : Submodule S M))) fs) :
RingTheory.Sequence.IsRegular M fs ∧
∀ i, Module.Flat R (M ⧸ (Ideal.ofList (fs.take i) • (⊤ : Submodule S M)))
Tag 0471, a lemma
Tag 0471 in the Stacks Project.
Module.Flat.of_rTensor_subtype_injective_of_flat_quotient_of_essentiallyOfFinitePresentation, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/LocalCriterionEssFP.lean, line 351. The attribute's comment: “The hypothesis Tor_1^R(M, R/I) = 0 is stated in the form Remark 00M6 identifies it with, the injectivity of I ⊗_R M → R ⊗_R M, as in the Noetherian sibling 00ML; this is the form the source's proof produces and the form 00ML consumes, and unlike Tor_1 it puts R and M in no common universe. Hypothesis (1) is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)), Mathlib having no such predicate. See the module docstring.”. References: EGA IV (11.3.12), “b⇒a, b⇒a for arbitrary A”; SGA 1 IV (5.6), “(ii)⇒(i), special case”.
The local criterion for flatness for local maps essentially of finite presentation. Let
R → Sbe a local homomorphism of local rings withSessentially of finite presentation overR, letI ≠ Rbe an ideal ofRand letMbe anS-module of finite presentation. IfTor₁^R(R/I, M) = 0andM/IMis flat overR/I, thenMis flat overR.Here the Tor hypothesis appears in the form of Remark 00M6, as the injectivity of
I ⊗_R M → R ⊗_R M, andM/IMisM ⧸ I • ⊤with its canonicalR ⧸ I-module structure. No ring is assumed Noetherian; the Noetherian variant is 00ML.
public theorem of_rTensor_subtype_injective_of_flat_quotient_of_essentiallyOfFinitePresentation
{R : Type u} (S : Type v) (M : Type w) [CommRing R] [CommRing S] [IsLocalRing R]
[IsLocalRing S] [Algebra R S] [IsLocalHom (algebraMap R S)] [AddCommGroup M] [Module R M]
[Module S M] [IsScalarTower R S M] [Module.FinitePresentation S M]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation) (I : Ideal R) (hI : I ≠ ⊤)
(hTor : Function.Injective (I.subtype.rTensor M))
(hflat : Module.Flat (R ⧸ I) (M ⧸ (I • (⊤ : Submodule R M)))) :
Module.Flat R M
Tag 00R7, a lemma
Tag 00R7 in the Stacks Project.
Module.flat_algebra_and_flat_of_flat_quotient_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FibrewiseCriterionEssFP.lean, line 351. The attribute's comment: “Hypothesis (1) is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)) applied to algebraMap R S and algebraMap R S', Mathlib having no such predicate. The fibre is M ⧸ (𝔪S) • (⊤ : Submodule S M) over the ring S ⧸ 𝔪S, as in 06A5, and the two conclusions are conjoined; see the module docstring.”. References: EGA IV (11.3.10), “special case”; SGA 1 I (5.9), “partial”; SGA 1 IV (5.9), “(ii) ⇒ (i)”; SGA 3 VIB (1.3.0), “special case”; SGA 3 VIB (12.7), “special case”; SGA 3 VIB (2.5), “flatness clause”; SGA 3 X (3.5), “Flat case”.
Critère de platitude par fibres. Let
R → S → S'be local homomorphisms of local rings withR → SandR → S'essentially of finite presentation, let𝔪be the maximal ideal ofR, and letMbe a nonzeroS'-module of finite presentation overS'. If the fibreM/𝔪Mis flat overS/𝔪SandMis flat overR, thenSis flat overRandMis flat overS.Here
𝔪SisIdeal.map (algebraMap R S) (maximalIdeal R)andM/𝔪MisM ⧸ 𝔪S • ⊤taken overS, so that it is a module overS/𝔪S.
public theorem Module.flat_algebra_and_flat_of_flat_quotient_maximalIdeal
{R S S' M : Type*} [CommRing R] [CommRing S] [CommRing S']
[IsLocalRing R] [IsLocalRing S] [IsLocalRing S']
[Algebra R S] [Algebra S S'] [Algebra R S'] [IsScalarTower R S S']
[IsLocalHom (algebraMap R S)] [IsLocalHom (algebraMap S S')]
[AddCommGroup M] [Module R M] [Module S M] [Module S' M]
[IsScalarTower R S M] [IsScalarTower S S' M]
[Module.FinitePresentation S' M] [Nontrivial M]
[Module.Flat (S ⧸ (maximalIdeal R).map (algebraMap R S))
(M ⧸ ((maximalIdeal R).map (algebraMap R S) • (⊤ : Submodule S M)))]
[Module.Flat R M]
(hS : (algebraMap R S).EssentiallyOfFinitePresentation)
(hS' : (algebraMap R S').EssentiallyOfFinitePresentation) :
Module.Flat R S ∧ Module.Flat S M
Tag 05UV, a lemma
Tag 05UV in the Stacks Project.
Module.essentiallyOfFinitePresentation_and_flat_and_flat_of_flat_quotient_maximalIdeal, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FibrewiseCriterionEssFPBase.lean, line 463. The attribute's comment: “"Essentially of finite type" is Mathlib's Algebra.EssFiniteType (Definition 00QM (1)); "essentially of finite presentation" is RingHom.EssentiallyOfFinitePresentation (Definition 00QM (2)), Mathlib having no such predicate. The chain R → S → S' is IsScalarTower R S S', 𝔪S is (maximalIdeal R).map (algebraMap R S) and 𝔪M is 𝔪S • ⊤ over S, so that the fibre M/𝔪M is a module over the ring S/𝔪S. "M is not zero" is Nontrivial M. The three conclusions are conjoined; see the module docstring.”. References: EGA IV (11.3.10), “special case”; SGA 1 I (5.9), “partial”; SGA 1 IV (5.9), “(ii) ⇒ (i)”; SGA 3 VIB (1.3.0), “special case”; SGA 3 VIB (12.7), “special case”; SGA 3 VIB (2.5), “flatness clause”; SGA 3 X (3.5), “Flat case”.
Let
R → S → S'be local homomorphisms of local rings, let𝔪be the maximal ideal ofR, and letMbe a nonzeroS'-module of finite presentation. AssumeR → S'is essentially of finite presentation,R → Sis essentially of finite type,Mis flat overR, and the fibreM/𝔪Mis flat overS/𝔪S. ThenR → Sis essentially of finite presentation,Sis flat overR, andMis flat overS.Here
𝔪Sis(maximalIdeal R).map (algebraMap R S)and𝔪Mis𝔪S • ⊤, so thatM/𝔪Mis a module over the fibre ringS/𝔪S.
public theorem
Module.essentiallyOfFinitePresentation_and_flat_and_flat_of_flat_quotient_maximalIdeal
{R S S' M : Type*} [CommRing R] [CommRing S] [CommRing S']
[IsLocalRing R] [IsLocalRing S] [IsLocalRing S']
[Algebra R S] [Algebra S S'] [Algebra R S'] [IsScalarTower R S S']
[IsLocalHom (algebraMap R S)] [IsLocalHom (algebraMap S S')]
[AddCommGroup M] [Module R M] [Module S M] [Module S' M]
[IsScalarTower R S M] [IsScalarTower S S' M]
[Algebra.EssFiniteType R S] [Module.FinitePresentation S' M] [Nontrivial M] [Module.Flat R M]
[Module.Flat (S ⧸ (maximalIdeal R).map (algebraMap R S))
(M ⧸ ((maximalIdeal R).map (algebraMap R S) • (⊤ : Submodule S M)))]
(hS' : (algebraMap R S').EssentiallyOfFinitePresentation) :
(algebraMap R S).EssentiallyOfFinitePresentation ∧ Module.Flat R S ∧ Module.Flat S M
Tag 0CEL, a lemma
Tag 0CEL in the Stacks Project.
Module.flat_and_flat_localization_of_flat_quotient_of_locallyNilpotent, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/FibreCriterionNilpotent.lean, line 373. The attribute's comment: “"Locally nilpotent" is ∀ x ∈ I, IsNilpotent x. IM is written as IS • ⊤ over S, S_q is an abstract localization of S at q, and "essentially of finite presentation" is RingHom.EssentiallyOfFinitePresentation; see the module docstring.”. References: EGA IV (11.3.11), “(a) ⇒ (b), special case”; SGA 1 IV (5.9), “(ii) ⇒ (i), special case”; SGA 3 VIB (1.3.0), “special case”; SGA 3 VIB (2.5), “flatness clause”.
Let
R → S → S'be ring maps withR → Sof finite type andR → S'of finite presentation, letI ⊆ Rbe an ideal all of whose elements are nilpotent, and letMbe a finitely presentedS'-module. IfM/IMis flat overS/ISandMis flat overR, thenMis flat overS, andS_qis flat and essentially of finite presentation overRfor every primeq ⊆ SwithM ⊗_S κ(q)nonzero.
theorem Module.flat_and_flat_localization_of_flat_quotient_of_locallyNilpotent
{R S S' : Type*} [CommRing R] [CommRing S] [CommRing S'] [Algebra R S] [Algebra S S']
[Algebra R S'] [IsScalarTower R S S']
{M : Type*} [AddCommGroup M] [Module R M] [Module S M] [Module S' M]
[IsScalarTower R S M] [IsScalarTower S S' M]
(I : Ideal R) (hI : ∀ x ∈ I, IsNilpotent x)
[Algebra.FiniteType R S] [Algebra.FinitePresentation R S'] [Module.FinitePresentation S' M]
[Module.Flat (S ⧸ I.map (algebraMap R S))
(M ⧸ (I.map (algebraMap R S) • (⊤ : Submodule S M)))]
[Module.Flat R M] :
Module.Flat S M ∧
∀ (q : Ideal S) [q.IsPrime] (Sq : Type*) [CommRing Sq] [Algebra S Sq]
[IsLocalization.AtPrime Sq q] [Algebra R Sq] [IsScalarTower R S Sq],
Nontrivial (M ⊗[S] q.ResidueField) →
Module.Flat R Sq ∧ (algebraMap R Sq).EssentiallyOfFinitePresentation
Sources
Section10.129 Openness of the flat locus#
Section 10.129 of the Stacks Project, Tag 00R8. 4 tags here are carried by 4 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00R9, a lemma
Tag 00R9 in the Stacks Project.
Module.IsMaximalCohenMacaulay.ringKrullDim_quotient_add_length_eq_and_isRegular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/Equidimensional.lean, line 360. The attribute's comment: “Cohen-Macaulayness of a Noetherian local ring is Module.IsMaximalCohenMacaulay A A (Definition 00N8); that of the Noetherian ring S (Definition 00NC) is spelled out over its localizations at primes, as in tag 00ND. dim V(f₁, …, f_i) is ringKrullDim (S ⧸ Ideal.ofList f) (ringKrullDim_quotient), and ≤ d - i is written + f.length ≤ d in WithBot ℕ∞, the source's truncating subtraction being false as stated. The extra hypothesis Ideal.ofList f ≠ ⊤ excludes the empty locus, where the source's equality fails. See the module docstring.”.
Stacks 00R9. Let
kbe a field andSa finite typek-algebra which is Cohen–Macaulay (every local ringS_𝔭satisfiesdepth_{𝔪}(S_𝔭) = dim S_𝔭) and equidimensional of dimensiond. Letf = f₁, …, f_ibe elements ofScutting out a nonempty closed subsetV(f₁, …, f_i)ofSpec Sof dimension at mostd - i. Then that dimension is exactlyd - i, andf₁, …, f_iis a regular sequence inS_𝔮for every prime𝔮 ⊇ (f₁, …, f_i).
public theorem ringKrullDim_quotient_add_length_eq_and_isRegular
{k S : Type*} [Field k] [CommRing S] [Algebra k S] [Algebra.FiniteType k S]
(hS : ∀ (p : Ideal S) [p.IsPrime],
Module.IsMaximalCohenMacaulay (Localization.AtPrime p) (Localization.AtPrime p))
(hequi : TopologicalSpace.Equidimensional (PrimeSpectrum S)) (d : ℕ)
(hd : ringKrullDim S = d) (f : List S) (hf : Ideal.ofList f ≠ ⊤)
(hdim : ringKrullDim (S ⧸ Ideal.ofList f) + f.length ≤ (d : WithBot ℕ∞)) :
ringKrullDim (S ⧸ Ideal.ofList f) + f.length = (d : WithBot ℕ∞) ∧
∀ (q : Ideal S) [q.IsPrime], Ideal.ofList f ≤ q →
∀ (Sq : Type*) [CommRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq q],
RingTheory.Sequence.IsRegular Sq (f.map (algebraMap S Sq))
Tag 00RA, a lemma
Tag 00RA in the Stacks Project.
Algebra.isOpen_setOf_isRegular_fiber_of_isMaximalCohenMacaulay_of_equidimensional, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Sequence/RegularLocus.lean, line 861. The attribute's comment: “V(f₁, …, f_i) is the subspace PrimeSpectrum.zeroLocus ↑(Ideal.ofList f) of Spec S and openness is for its subspace topology. S_𝔮/𝔭S_𝔮 is the quotient of Localization.AtPrime 𝔮 by the ideal generated by 𝔭 = 𝔮.under R, which is the fibre κ(𝔭) ⊗_R S_𝔮 of tag 00PK by Ideal.Fiber.ringEquivQuotient but carries the canonical S-algebra structure. Cohen-Macaulayness of the fibre (Definition 00NC) is spelled out over its primes at Localization.AtPrime and equidimensionality of dimension d as Definition 0058 plus ringKrullDim = d, as in tags 00ND and 00R9; the hypothesis is guarded by the fibre being nonzero, where the source's condition on its components has content. See the module docstring.”.
Stacks 00RA. Let
R → Sbe a finite type ring map and letdbe such that every nonempty fibreS ⊗_R κ(𝔭)is Cohen–Macaulay (each of its local ringsAsatisfiesdepth_{𝔪_A}(A) = dim A) and equidimensional of dimensiond. Letf = f₁, …, f_ibe elements ofS. Then the set of points𝔮ofV(f₁, …, f_i)at whichf₁, …, f_iis a regular sequence inS_𝔮/𝔭S_𝔮, where𝔭 = R ∩ 𝔮, is open inV(f₁, …, f_i).
public theorem isOpen_setOf_isRegular_fiber_of_isMaximalCohenMacaulay_of_equidimensional
{R S : Type*} [CommRing R] [CommRing S] [Algebra R S] [Algebra.FiniteType R S] (d : ℕ)
(hfib : ∀ (p : Ideal R) [p.IsPrime], Nontrivial (p.Fiber S) →
(∀ (Q : Ideal (p.Fiber S)) [Q.IsPrime],
Module.IsMaximalCohenMacaulay (Localization.AtPrime Q) (Localization.AtPrime Q)) ∧
TopologicalSpace.Equidimensional (PrimeSpectrum (p.Fiber S)) ∧
ringKrullDim (p.Fiber S) = (d : WithBot ℕ∞))
(f : List S) :
IsOpen {q : ↥(PrimeSpectrum.zeroLocus (Ideal.ofList f : Set S)) |
RingTheory.Sequence.IsRegular
(Localization.AtPrime q.1.asIdeal ⧸
(q.1.asIdeal.under R).map (algebraMap R (Localization.AtPrime q.1.asIdeal)))
(f.map (algebraMap S (Localization.AtPrime q.1.asIdeal ⧸
(q.1.asIdeal.under R).map (algebraMap R (Localization.AtPrime q.1.asIdeal)))))}
Tag 00RB, a lemma
Tag 00RB in the Stacks Project.
Algebra.isOpen_setOf_injective_and_exact_baseChange_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/OpenFibreExactLocus.lean, line 579. The attribute's comment: “The complex is indexed as in 00N1: φ k : S^{n (k+1)} → S^{n k}, read for k ≤ e, and exactness is injectivity of φ e and exactness at S^{n_e}, …, S^{n_1}. F_𝔮 ⊗_R κ(𝔭) is the base change of F along S → S_𝔮/𝔭S_𝔮, the ring of 00RA, which is S_𝔮 ⊗_R κ(𝔭). The fibre hypothesis is spelled out as in 00RA. See the module docstring.”.
Let
R → Sbe a flat ring map of finite type withRNoetherian, whose nonzero fibresS ⊗_R κ(𝔭)are Cohen–Macaulay and equidimensional of dimensiond, and let0 → S^{n_{e+1}} →[φ e] S^{n_e} → ⋯ → S^{n_1} →[φ 0] S^{n_0}be a complex of finite freeS-modules. Then the set of primes𝔮ofSat which the complexF_𝔮 ⊗_R κ(𝔭) = F ⊗_S S_𝔮/𝔭S_𝔮,𝔭 = 𝔮 ∩ R, is exact is open inSpec S.
public theorem Algebra.isOpen_setOf_injective_and_exact_baseChange_fiber
{R S : Type*} [CommRing R] [CommRing S] [Algebra R S] [IsNoetherianRing R]
[Algebra.FiniteType R S] [Module.Flat R S] (d : ℕ)
(hfib : ∀ (p : Ideal R) [p.IsPrime], Nontrivial (p.Fiber S) →
(∀ (Q : Ideal (p.Fiber S)) [Q.IsPrime],
Module.IsMaximalCohenMacaulay (Localization.AtPrime Q) (Localization.AtPrime Q)) ∧
TopologicalSpace.Equidimensional (PrimeSpectrum (p.Fiber S)) ∧
ringKrullDim (p.Fiber S) = (d : WithBot ℕ∞))
(e : ℕ) (n : ℕ → ℕ) (φ : ∀ i, (Fin (n (i + 1)) → S) →ₗ[S] (Fin (n i) → S))
(hφ : ∀ k < e, φ k ∘ₗ φ (k + 1) = 0) :
IsOpen {q : PrimeSpectrum S |
Function.Injective ((φ e).baseChange (Localization.AtPrime q.asIdeal ⧸
(q.asIdeal.under R).map (algebraMap R (Localization.AtPrime q.asIdeal)))) ∧
∀ k < e, Function.Exact
((φ (k + 1)).baseChange (Localization.AtPrime q.asIdeal ⧸
(q.asIdeal.under R).map (algebraMap R (Localization.AtPrime q.asIdeal))))
((φ k).baseChange (Localization.AtPrime q.asIdeal ⧸
(q.asIdeal.under R).map (algebraMap R (Localization.AtPrime q.asIdeal))))}
Tag 00RC, a theorem
Tag 00RC in the Stacks Project.
Module.isOpen_setOf_flat_localizedModule_atPrime, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Flat/OpenFlatLocus.lean, line 1056. References: EGA IV (11.3.1), “U open, affine case”; EGA IV (11.1.6), “case C = B”; EGA IV (11.3.3), “case C = B”; SGA 1 IV (6.10), “affine case”.
For a finitely presented ring map
R → Sand a finitely presentedS-moduleM, the locus of primesqofSat whichM_qis flat overRis open.
public theorem Module.isOpen_setOf_flat_localizedModule_atPrime
{R : Type*} {S : Type*} {M : Type*}
[CommRing R] [CommRing S] [Algebra R S] [Algebra.FinitePresentation R S]
[AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
[Module.FinitePresentation S M] :
IsOpen {q : PrimeSpectrum S | Module.Flat R (LocalizedModule.AtPrime q.asIdeal M)}
Sources
Section10.130 Openness of Cohen-Macaulay loci#
Section 10.130 of the Stacks Project, Tag 00RD. 8 tags here are carried by 8 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00RE, a lemma
Tag 00RE in the Stacks Project.
Module.Flat.atPrime_iff_isMaximalCohenMacaulay_and_relativeDimensionAt_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/Locus.lean, line 398. The attribute's comment: “Cohen-Macaulayness of the Noetherian local ring S_𝔮 (Definition 00N8) is Module.IsMaximalCohenMacaulay Sq Sq; k[y_1, …, y_d] is MvPolynomial σ k with d = Nat.card σ; the localization is an abstract IsLocalization.AtPrime; and the equality of subsets of Spec S is stated pointwise at 𝔮, with the source's global quasi-finiteness of φ weakened to quasi-finiteness at 𝔮 (Definition 00PL). See the module docstring.”.
Stacks 00RE. Let
Sbe a finite type algebra over a fieldk, letφ : k[y_1, …, y_d] → Sbe a map ofk-algebras from a polynomial ring ind = Nat.card σvariables, and let𝔮be a prime ofSat whichφis quasi-finite, with localizationS_𝔮 = Sq. ThenS_𝔮is flat overk[y_1, …, y_d]if and only ifS_𝔮is Cohen–Macaulay anddim_𝔮(S/k) = d. TakingSq = Localization.AtPrime 𝔮andSet.ext, this is the source's equality of the flat locus and the Cohen–Macaulay locus of relative dimensiondinsideSpec(S).
public theorem Module.Flat.atPrime_iff_isMaximalCohenMacaulay_and_relativeDimensionAt_eq
{k S : Type*} [Field k] [CommRing S] [Algebra k S] [Algebra.FiniteType k S] {σ : Type*}
[Finite σ] [Algebra (MvPolynomial σ k) S] [IsScalarTower k (MvPolynomial σ k) S]
(𝔮 : Ideal S) [𝔮.IsPrime] [Algebra.QuasiFiniteAt (MvPolynomial σ k) 𝔮] (Sq : Type*)
[CommRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq 𝔮] [IsLocalRing Sq]
[Algebra (MvPolynomial σ k) Sq] [IsScalarTower (MvPolynomial σ k) S Sq] :
Module.Flat (MvPolynomial σ k) Sq ↔
Module.IsMaximalCohenMacaulay Sq Sq ∧ Algebra.relativeDimensionAt k 𝔮 = Nat.card σ
Tag 00RF, a lemma
Tag 00RF in the Stacks Project.
PrimeSpectrum.isOpen_setOf_isMaximalCohenMacaulay_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/OpenLocus.lean, line 722. The attribute's comment: “Cohen-Macaulayness of the local ring S_𝔮 (Definition 00N8) is Module.IsMaximalCohenMacaulay of Localization.AtPrime 𝔮 over itself. The proof is the case R = k of Lemma 00RH; see the module docstring.”. References: EGA IV (6.11.3), “affine over field, F=O_X”; EGA IV (12.1.7), “(iii), over a field”.
Stacks 00RF. Let
Sbe a finite type algebra over a fieldk. The set of primes𝔮ofSsuch that the local ringS_𝔮is Cohen–Macaulay is open inSpec S.
theorem PrimeSpectrum.isOpen_setOf_isMaximalCohenMacaulay_localization (k S : Type*) [Field k]
[CommRing S] [Algebra k S] [Algebra.FiniteType k S] :
IsOpen {q : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay (Localization.AtPrime q.asIdeal)
(Localization.AtPrime q.asIdeal)}
Tag 00RG, a lemma
Tag 00RG in the Stacks Project.
PrimeSpectrum.isOpen_and_dense_setOf_isMaximalCohenMacaulay_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/OpenLocus.lean, line 750. The attribute's comment: “Cohen-Macaulayness of S_𝔮 is Module.IsMaximalCohenMacaulay of Localization.AtPrime 𝔮 over itself; "dense open" is the conjunction of IsOpen and Dense.”. References: EGA IV (6.11.3), “affine over field, F=O_X”; EGA IV (12.1.7), “(iii), over a field”.
Stacks 00RG. Let
Sbe a finite type algebra over a fieldk. The set of primes𝔮ofSat whichS_𝔮is Cohen–Macaulay is a dense open subset ofSpec S: it is open by Lemma 00RF and contains every minimal prime, where the local ring has dimension zero.
theorem PrimeSpectrum.isOpen_and_dense_setOf_isMaximalCohenMacaulay_localization (k S : Type*)
[Field k] [CommRing S] [Algebra k S] [Algebra.FiniteType k S] :
IsOpen {q : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay (Localization.AtPrime q.asIdeal)
(Localization.AtPrime q.asIdeal)} ∧
Dense {q : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay (Localization.AtPrime q.asIdeal)
(Localization.AtPrime q.asIdeal)}
Tag 00RH, a lemma
Tag 00RH in the Stacks Project.
Algebra.isOpen_setOf_isMaximalCohenMacaulay_fiber_and_relativeDimensionAt_eq, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/OpenLocus.lean, line 626. The attribute's comment: “The fibre ring S_𝔮/𝔭S_𝔮 is Localization.AtPrime of the image of 𝔮 in S/𝔭S, 𝔭 = 𝔮.under R, as in 00RK; Cohen-Macaulayness of a local ring (Definition 00N8) is Module.IsMaximalCohenMacaulay A A, and dim_𝔮(S/R) is Algebra.relativeDimensionAt R 𝔮.”. References: EGA IV (12.1.7), “(iii)”.
Stacks 00RH. Let
R → Sbe flat of finite presentation and letd ≥ 0. The set of primes𝔮ofSsuch that, with𝔭 = R ∩ 𝔮, the fibre ringS_𝔮/𝔭S_𝔮is Cohen–Macaulay anddim_𝔮(S/R) = dis open inSpec S. The fibre ring is spelled as the localization ofS/𝔭Sat the image of𝔮.
theorem Algebra.isOpen_setOf_isMaximalCohenMacaulay_fiber_and_relativeDimensionAt_eq
(R S : Type*) [CommRing R] [CommRing S] [Algebra R S] [Module.Flat R S]
[Algebra.FinitePresentation R S] (d : ℕ) :
IsOpen {q : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S))))) ∧
Algebra.relativeDimensionAt R q.asIdeal = d}
Tag 00RI, a lemma
Tag 00RI in the Stacks Project.
Algebra.isOpen_setOf_isMaximalCohenMacaulay_fiber_and_dense_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/OpenLocus.lean, line 772. The attribute's comment: “The fibre ring is Localization.AtPrime of the image of 𝔮 in S/𝔭S, as in 00RH and 00RK. The fibre over 𝔭 is the subspace comap (algebraMap R S) ⁻¹' {𝔭} of Spec S and density is for its subspace topology; openness is asserted in all of Spec S, which implies openness in each fibre. See the module docstring.”. References: EGA IV (12.1.1), “(vi), affine, F=O_X”; EGA IV (12.1.7), “(iii), affine flat”; SGA 4 XVIII (2.3), “affine case”.
Stacks 00RI. Let
R → Sbe flat of finite presentation. The setWof primes𝔮ofSat which the fibre ringS_𝔮 ⊗_R κ(𝔭),𝔭 = R ∩ 𝔮, is Cohen–Macaulay is open inSpec S, and for every prime𝔭ofRits trace on the fibreSpec S ×_{Spec R} {𝔭}ofSpec S → Spec Ris dense in that fibre.
theorem Algebra.isOpen_setOf_isMaximalCohenMacaulay_fiber_and_dense_fiber
(R S : Type*) [CommRing R] [CommRing S] [Algebra R S] [Module.Flat R S]
[Algebra.FinitePresentation R S] :
IsOpen {q : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))} ∧
∀ p : PrimeSpectrum R,
Dense ((↑) ⁻¹' {q : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))} :
Set (PrimeSpectrum.comap (algebraMap R S) ⁻¹' {p}))
Tag 00RJ, a lemma
Tag 00RJ in the Stacks Project.
Algebra.IsPushout.isMaximalCohenMacaulay_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/LocusBaseChange.lean, line 159. The attribute's comment: “Cohen-Macaulayness of a Noetherian local ring A (Definition 00N8) is Module.IsMaximalCohenMacaulay A A (tag 00NF); the base change K ⊗_k S is an arbitrary pushout square of k-algebras Algebra.IsPushout k K S T, as in the sibling 00P4; the two local rings are abstract IsLocalization.AtPrimes; and 𝔮_K lying over 𝔮 is Ideal.LiesOver. See the module docstring.”. References: EGA IV (6.7.1), “(i), CM, affine”; SGA 3 VIA (1.1.1), “special case”.
Let
kbe a field, letSbe a finite typek-algebra, letK/kbe a field extension and letT = K ⊗_k Sbe the base change, presented as a pushout square. Let𝔮Kbe a prime ofTlying over the prime𝔮ofS, and letSq = S_𝔮andTqK = T_{𝔮K}be the local rings at them. ThenS_𝔮is Cohen–Macaulay if and only ifT_{𝔮K}is Cohen–Macaulay.
public theorem isMaximalCohenMacaulay_iff (k K S T : Type*) [Field k] [Field K] [CommRing S]
[CommRing T] [Algebra k K] [Algebra k S] [Algebra k T] [Algebra K T] [Algebra S T]
[IsScalarTower k K T] [IsScalarTower k S T] [Algebra.IsPushout k K S T]
[Algebra.FiniteType k S] (𝔮 : Ideal S) [𝔮.IsPrime] (𝔮K : Ideal T) [𝔮K.IsPrime]
[𝔮K.LiesOver 𝔮] (Sq : Type*) [CommRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq 𝔮]
[IsLocalRing Sq] (TqK : Type*) [CommRing TqK] [Algebra T TqK]
[IsLocalization.AtPrime TqK 𝔮K] [IsLocalRing TqK] :
Module.IsMaximalCohenMacaulay Sq Sq ↔ Module.IsMaximalCohenMacaulay TqK TqK
Tag 00RK, a lemma
Tag 00RK in the Stacks Project.
Algebra.IsPushout.setOf_isMaximalCohenMacaulay_fiber_eq_preimage_comap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/LocusBaseChange.lean, line 401. The attribute's comment: “The base change is an arbitrary pushout square Algebra.IsPushout R R' S S', as in the siblings 00P3, 00P4 and 00SS, so f is PrimeSpectrum.comap (algebraMap S S'). The fibre ring S_𝔮 ⊗_R κ(𝔭) is Localization.AtPrime of the image of 𝔮 in S/𝔭S, with 𝔭 = 𝔮.under R, as in 00RH and 00RI, and Cohen-Macaulayness of a local ring (Definition 00N8) is Module.IsMaximalCohenMacaulay A A (tag 00NF). The conclusion is the source's equality of sets of primes; Set.ext_iff gives the pointwise form. See the module docstring.”.
Let
R → Sbe of finite type, letR → R'be any ring map and letS' = R' ⊗_R S, presented as a pushout square. Letf : Spec S' → Spec Sbe the map of the ring mapS → S'. Then the setW'of primes𝔮'ofS'whose fibre ringS'_{𝔮'} ⊗_{R'} κ(𝔭'),𝔭' = R' ∩ 𝔮', is Cohen–Macaulay is the preimagef ⁻¹' Wof the corresponding setWforSoverR. The fibre ring is the localization ofS/𝔭Sat the prime𝔮/𝔭S.
public theorem setOf_isMaximalCohenMacaulay_fiber_eq_preimage_comap (R R' S S' : Type*)
[CommRing R] [CommRing R'] [CommRing S] [CommRing S'] [Algebra R R'] [Algebra R S]
[Algebra R S'] [Algebra R' S'] [Algebra S S'] [IsScalarTower R R' S'] [IsScalarTower R S S']
[Algebra.IsPushout R R' S S'] [Algebra.FiniteType R S] :
{𝔮' : PrimeSpectrum S' |
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (𝔮'.asIdeal.map (Ideal.Quotient.mk
((𝔮'.asIdeal.under R').map (algebraMap R' S')))))
(Localization.AtPrime (𝔮'.asIdeal.map (Ideal.Quotient.mk
((𝔮'.asIdeal.under R').map (algebraMap R' S')))))} =
PrimeSpectrum.comap (algebraMap S S') ⁻¹'
{𝔮 : PrimeSpectrum S |
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (𝔮.asIdeal.map (Ideal.Quotient.mk
((𝔮.asIdeal.under R).map (algebraMap R S)))))
(Localization.AtPrime (𝔮.asIdeal.map (Ideal.Quotient.mk
((𝔮.asIdeal.under R).map (algebraMap R S)))))}
Tag 00RL, a lemma
Tag 00RL in the Stacks Project.
Algebra.exists_algEquiv_pi_of_isMaximalCohenMacaulay_fiber, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CohenMacaulay/OpenLocus.lean, line 816. The attribute's comment: “The fibre ring is Localization.AtPrime of the image of 𝔮 in S/𝔭S, as in 00RH. "All fibres equidimensional of dimension d" is Algebra.relativeDimensionAt R 𝔮 = d at every prime 𝔮 of S_d, which is equivalent over a field by Lemma 00OT. The factors are indexed by Fin (n + 1) and live in the universe of S. See the module docstring.”.
Stacks 00RL. Let
R → Sbe flat, of finite presentation and with Cohen–Macaulay fibres, that is with every fibre ringS_𝔮/𝔭S_𝔮Cohen–Macaulay. ThenS ≅ S_0 × ⋯ × S_nasR-algebras, where eachS_dis flat, of finite presentation and with Cohen–Macaulay fibres overR, and all fibres ofR → S_dare equidimensional of dimensiond: the relative dimensiondim_𝔮(S_d/R)isdat every prime𝔮ofS_d.
theorem Algebra.exists_algEquiv_pi_of_isMaximalCohenMacaulay_fiber (R : Type u) (S : Type v)
[CommRing R]
[CommRing S] [Algebra R S] [Module.Flat R S] [Algebra.FinitePresentation R S]
(hCM : ∀ q : PrimeSpectrum S,
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R S)))))) :
∃ (n : ℕ) (S' : Fin (n + 1) → Type v) (_ : ∀ d, CommRing (S' d)) (_ : ∀ d, Algebra R (S' d)),
Nonempty (S ≃ₐ[R] Π d, S' d) ∧ ∀ d, Module.Flat R (S' d) ∧
Algebra.FinitePresentation R (S' d) ∧
(∀ q : PrimeSpectrum (S' d),
Module.IsMaximalCohenMacaulay
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R (S' d))))))
(Localization.AtPrime (q.asIdeal.map (Ideal.Quotient.mk
((q.asIdeal.under R).map (algebraMap R (S' d))))))) ∧
∀ q : PrimeSpectrum (S' d), Algebra.relativeDimensionAt R q.asIdeal = (d : ℕ)
Sources
Section10.131 Differentials#
Section 10.131 of the Stacks Project, Tag 00RM. 17 tags here are carried by 10 declarations of the repository (all in StacksFrontier) and 22 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00RN, a definition
Tag 00RN in the Stacks Project.
Declarations registered for the tag:
Derivationregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 32 (StacksFrontier): “derivations”. References: EGA 0 (20.1.1), “special case”; EGA 0 (20.1.2), “commutative, 1-sided mod”; SGA 3 VIIA (1.2.0), “special case”; SGA 3 VIIA (5.2), “special case”; SGA 7 X (2.26).Derivation.mkregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 38 (StacksFrontier): “the constructor”. References: EGA 0 (20.1.2), “commutative, 1-sided mod”.Derivation.map_algebraMapregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 40 (StacksFrontier): “annihilates the image of the base ring map”. References: EGA 0 (20.1.2), “vanishes on image of A”.Derivation.leibnizregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 42 (StacksFrontier): “the Leibniz rule”. References: EGA 0 (20.1.2), “Leibniz rule (ii)”.
Tag 07BK, a definition
Tag 07BK in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferentialregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 46 (StacksFrontier): “the module of differentials”. References: EGA 0 (20.4.3), “special case”; EGA IV (16.3.1), “affine Ω¹_{X/S}”; EGA IV (16.3.7); EGA IV (17.13.5), “Affine case”; EGA IV (17.15.8); SGA 1 II (5.7); SGA 1 II (5.9); SGA 6 0 (2.1), “special case”; SGA 6 VIII (2.2); SGA 6 VIII (2.4); SGA 7 VI (1.17), “Ω when K is a field”; SGA 7 VI (5.1), “special case”; SGA 7 VI (5.5), “special case”.KaehlerDifferential.Dregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 60 (StacksFrontier): “its universal derivation”. References: EGA 0 (20.4.8), “(ii), derivation clause”; EGA IV (16.3.6), “special case”; EGA IV (16.5.3), “(i), affine case”; SGA 7 VI (1.17), “d, special case”.
Tag 00RO, a lemma
Tag 00RO in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferential.linearMapEquivDerivationregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 67 (StacksFrontier). References: EGA IV (16.5.14), “partial”; EGA IV (16.5.7), “special case”; EGA IV (16.5.3), “(ii), affine case”; EGA 0 (20.4.8), “(ii), discrete case”; EGA IV (16.5.3), “(ii), affine/ring case”; SGA 1 III (5.2), “special case”; SGA 3 VIIA (1.3.1), “special case”; SGA 3 II (3.14), “affine case”.KaehlerDifferential.linearMapEquivDerivation_apply_applyregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 74 (StacksFrontier): “the map isα ↦ α ∘ d”.
Tag 00RP, a lemma
Tag 00RP in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferential.subsingleton_of_surjectiveregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 84 (StacksFrontier): “Ω[S⁄R]vanishes whenR → Sis surjective”. References: EGA 0 (20.4.12), “discrete case”.
Tag 0H2F, an equation
Tag 0H2F in the Stacks Project.
Stacks.KaehlerDifferential.Presentation.presentation_square_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/Presentation.lean, line 131.
Stacks Tag 0H2F. Given a commutative square of commutative rings
φ ∘ α = β ∘ ψ(here phrased asφ.comp α = β.comp ψ), the square of presentations of Kähler differentials commutes:Φ_F ∘ ∂_{S/R} = ∂_{S'/R'} ∘ Φ_Pasφ-semilinear mapsP_{S/R} → F_{S'/R'}.
theorem presentation_square_comm
{R S R' S' : Type*} [CommRing R] [CommRing S] [CommRing R'] [CommRing S']
(α : R →+* S) (β : R' →+* S') (φ : S →+* S') (ψ : R →+* R')
(hcomm : φ.comp α = β.comp ψ) :
(PhiF φ).comp (presentationMap α)
= (presentationMap β).comp (PhiP φ ψ)
Tag 031G, a lemma
Tag 031G in the Stacks Project.
Stacks.KaehlerDifferential.Colimit.main_theorem_031g, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/Colimit.lean, line 949.
Stacks Tag 031G. For a system of ring maps over a directed set
I, the canonical comparison mapΘ : colim_i Ω[S_i⁄R_i] → Ω[S⁄R]is bijective (an isomorphism of abelian groups, equivalently ofS-modules).
theorem main_theorem_031g (hsq : IsCompatible fR fS)
(hdirS : DirectedSystem S (fun _ _ h => (fS h : S _ → S _))) :
Function.Bijective (Theta fR fS hsq)
Tag 00RR, a lemma
Tag 00RR in the Stacks Project.
KaehlerDifferential.map_surjective_and_ker_eq_span_of_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/KernelOfSurjection.lean, line 74.
In a commutative square of rings
withS --φ--> S' ↑ ↑ | | R -----> R'φ : S → S'surjective, the mapΩ[S⁄R] → Ω[S'⁄R']is surjective and its kernel is theS-submodule generated by thedawitha ∈ Ssuch thatφ(a)lies in the image ofR'(among them thediwithi ∈ ker φ).
theorem map_surjective_and_ker_eq_span_of_surjective
(h : Function.Surjective (algebraMap S S')) :
Function.Surjective (map R R' S S') ∧
LinearMap.ker (map R R' S S') =
Submodule.span S (⇑(D R S) '' {a | algebraMap S S' a ∈ Set.range (algebraMap R' S')})
Tag 00RS, a lemma
Tag 00RS in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferential.exact_mapBaseChange_mapregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 90 (StacksFrontier): “exactness at the middle term of the sequence of a tower”. References: EGA 0 (20.5.7), “partial”; EGA IV (16.4.19), “exact at Ω, affine”; EGA 0 (20.6.17), “exact at Ω¹_{C/A}”; EGA 0 (20.6.5), “H_0 = Ω_{C/B}”; EGA 0 (20.6.17), “second assertion”; EGA IV (16.4.19), “second assertion”; SGA 1 II (4.3), “(i)”; SGA 6 VIII (2.2), “partial”; SGA 6 VIII (2.6), “partial”; SGA 6 VIII (5.2), “partial”.KaehlerDifferential.map_surjectiveregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 100 (StacksFrontier): “surjectivity ofΩ[C⁄A] → Ω[C⁄B]”. References: EGA 0 (20.5.7), “partial”; SGA 6 VIII (5.2), “partial”.
Tag 00RT, a lemma
Tag 00RT in the Stacks Project.
omega_localization_base, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/BaseChange.lean, line 87. The attribute's comment: “(1)”. References: EGA 0 (20.5.5), “special case”.
Let
A → Bbe a ring map and letS ⊆ Abe a multiplicative subset whose image consists of units ofB, so thatBis anAₛ = S⁻¹A-algebra. Then the canonicalB-linear mapΩ_{B/A} → Ω_{B/Aₛ}is bijective.
theorem omega_localization_base
(A : Type*) [CommRing A] (B : Type*) [CommRing B] [Algebra A B]
(S : Submonoid A) (Aₛ : Type*) [CommRing Aₛ] [Algebra A Aₛ] [IsLocalization S Aₛ]
[Algebra Aₛ B] [IsScalarTower A Aₛ B] :
Function.Bijective (KaehlerDifferential.map A Aₛ B B)
omega_localization_total, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/BaseChange.lean, line 106. The attribute's comment: “(2)”. References: EGA 0 (20.5.9).
Let
A → Bbe a ring map, letS ⊆ Bbe a multiplicative subset andBₛ = S⁻¹B. Then the canonical mapΩ_{B/A} → Ω_{Bₛ/A}exhibitsΩ_{Bₛ/A}as the localizationS⁻¹ Ω_{B/A}.
theorem omega_localization_total
(A : Type*) [CommRing A] (B : Type*) [CommRing B] [Algebra A B]
(S : Submonoid B) (Bₛ : Type*) [CommRing Bₛ] [Algebra B Bₛ] [IsLocalization S Bₛ]
[Algebra A Bₛ] [IsScalarTower A B Bₛ] :
IsLocalizedModule S (KaehlerDifferential.map A A B Bₛ)
Tag 00RU, a lemma
Tag 00RU in the Stacks Project.
Stacks.KaehlerDifferential.Conormal.conormalSequence_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/KerCotangentToTensor.lean, line 55. The attribute's comment: “exactness at the middle”. References: EGA 0 (20.5.12), “(i)”; EGA 0 (20.6.23), “partial”; EGA 0 (20.6.9), “partial”; EGA 0 (22.4.4.2), “partial”; SGA 3 III (4.25), “exactness at middle”.
Exactness at
B ⊗[A] Ω[A⁄R]. The kernel of the base-change mapmapBaseChangeis the range of the conormal mapkerCotangentToTensor.
theorem conormalSequence_exact (R A B : Type*) [CommRing R] [CommRing A] [CommRing B]
[Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]
(hφ : Function.Surjective (algebraMap A B)) :
Function.Exact (kerCotangentToTensor R A B) (mapBaseChange R A B)
Stacks.KaehlerDifferential.Conormal.conormalSequence_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/KerCotangentToTensor.lean, line 68. The attribute's comment: “surjectivity on the right”. References: EGA 0 (20.5.12), “(i)”; EGA 0 (20.6.23), “partial”; EGA 0 (20.6.9), “partial”; EGA 0 (22.4.4.2), “partial”; SGA 3 III (4.25), “surjectivity in (+)”.
Exactness at
Ω[B⁄R]. The base-change mapmapBaseChangeis surjective.
theorem conormalSequence_surjective (R A B : Type*) [CommRing R] [CommRing A] [CommRing B]
[Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]
(hφ : Function.Surjective (algebraMap A B)) :
Function.Surjective (mapBaseChange R A B)
Stacks.KaehlerDifferential.Conormal.kerCotangentToTensor_class, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/KerCotangentToTensor.lean, line 84. The attribute's comment: “the formula for the left-hand map”. References: EGA 0 (20.5.11), “formula on classes”; EGA 0 (22.6.4), “partial”; SGA 1 II (5.9), “partial”; SGA 3 III (4.8), “special case”; SGA 6 VIII (2.1), “special case”.
The left-hand map of the conormal sequence on classes of sections of the ideal. The class of
f ∈ IinI/I²maps to1 ⊗ₜ d f, which is the source'sd f ⊗ 1.
theorem kerCotangentToTensor_class (R A B : Type*) [CommRing R] [CommRing A] [CommRing B]
[Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]
(x : RingHom.ker (algebraMap A B)) :
kerCotangentToTensor R A B ((RingHom.ker (algebraMap A B)).toCotangent x)
= 1 ⊗ₜ[A] (D R A) x
Declarations registered for the tag:
KaehlerDifferential.exact_kerCotangentToTensor_mapBaseChangeregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 107 (StacksFrontier): “exactness at the middle term”. References: EGA 0 (20.5.12), “partial”; EGA 0 (20.6.23), “partial”; EGA 0 (22.4.8), “partial”; EGA IV (16.4.21), “special case”; EGA IV (17.2.5), “affine middle exactness”.KaehlerDifferential.mapBaseChange_surjectiveregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 115 (StacksFrontier): “surjectivity ontoΩ[B⁄R]”. References: EGA IV (17.13.1), “special case”.
Tag 02HP, a lemma
Tag 02HP in the Stacks Project.
KaehlerDifferential.split_exact_kerCotangentToTensor_mapBaseChange_of_section, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/Basic.lean, line 355. The attribute's comment: “Recorded in full, as the decomposition of the middle term of the sequence of 00RU carrying its two maps to LinearMap.inl and LinearMap.snd. The hypothesis is a section of P ⧸ I² → S rather than of P → S, and surjectivity of P → S is derived from it rather than assumed.”. References: EGA 0 (20.6.22), “Case Λ = A”.
Let
R → P → Sbe commutative rings, letI = ker(P → S), and suppose there is anR-algebra mapg : S → P ⧸ I²that is a right inverse toP ⧸ I² → S. Then the exact sequence0 → I/I² → S ⊗[P] Ω[P⁄R] → Ω[S⁄R] → 0is split short exact: it is isomorphic to the trivial sequence, by an isomorphismS ⊗[P] Ω[P⁄R] ≃ I/I² × Ω[S⁄R]carryingKaehlerDifferential.kerCotangentToTensor R P StoLinearMap.inlandKaehlerDifferential.mapBaseChange R P StoLinearMap.snd. Nothing is required ofP.
theorem split_exact_kerCotangentToTensor_mapBaseChange_of_section {R P S : Type*}
[CommRing R] [CommRing P] [CommRing S] [Algebra R P] [Algebra P S] [Algebra R S]
[IsScalarTower R P S] (g : S →ₐ[R] P ⧸ RingHom.ker (algebraMap P S) ^ 2)
(hg : (IsScalarTower.toAlgHom R P S).kerSquareLift.comp g = AlgHom.id R S) :
∃ e : S ⊗[P] Ω[P⁄R] ≃ₗ[P] (RingHom.ker (algebraMap P S)).Cotangent × Ω[S⁄R],
kerCotangentToTensor R P S =
e.symm ∘ₗ LinearMap.inl P (RingHom.ker (algebraMap P S)).Cotangent Ω[S⁄R] ∧
(mapBaseChange R P S).restrictScalars P =
LinearMap.snd P (RingHom.ker (algebraMap P S)).Cotangent Ω[S⁄R] ∘ₗ e.toLinearMap
Tag 02HQ, a lemma
Tag 02HQ in the Stacks Project.
kaehlerReductionMap_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/AdicQuotient.lean, line 402.
Stacks Tag 02HQ (Lemma 10.131.11). For a ring map
R → S, an idealI ⊆ S, and an integern ≥ 1, withS' = S/I^{n+1}, the comparison mapΦ : Ω[S/R] ⊗[S] (S/I^n) → Ω[S'/R] ⊗[S'] (S/I^n)
induced by the functoriality map
dπ : Ω[S/R] → Ω[S'/R]is bijective (an isomorphism).
theorem kaehlerReductionMap_bijective :
Function.Bijective (kaehlerReductionMap R S I n)
Tag 00RV, a lemma
Tag 00RV in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferential.tensorKaehlerEquivBaseregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/BaseChange.lean, line 122 (StacksFrontier): “for an arbitrary pushout square, with the tensor factors in the other order”. References: EGA 0 (21.3.6), “partial”; EGA 0 (22.4.4.7), “more general”; EGA 0 (22.4.8), “more general”; EGA IV (16.4.5), “special case”; EGA IV (16.5.10), “(16.5.10.1) affine case”; EGA 0 (20.5.5); SGA 3 III (0.12), “special case”; SGA 3 III (4.8), “(iii), special case”; SGA 3 VIA (1.3.2), “Differentials clause”; SGA 5 III (6.9), “special case”; SGA 7 VI (5.5), “special case”.KaehlerDifferential.tensorKaehlerEquivregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/BaseChange.lean, line 134 (StacksFrontier): “the variant over the base-changed algebra”. References: EGA 0 (20.5.5); EGA 0 (21.3.6), “partial”; EGA 0 (22.4.4.7), “more general”; EGA 0 (22.4.8), “more general”; EGA IV (16.5.10), “(16.5.10.1) affine case”.
Tag 00RW, a lemma
Tag 00RW in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferentialregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 81 (StacksFrontier): “Ω[S⁄R]isJ / J ^ 2”. References: EGA 0 (20.4.3), “special case”; EGA IV (16.3.1), “affine Ω¹_{X/S}”; EGA IV (16.3.7); EGA IV (17.13.5), “Affine case”; EGA IV (17.15.8); SGA 1 II (5.7); SGA 1 II (5.9); SGA 6 0 (2.1), “special case”; SGA 6 VIII (2.2); SGA 6 VIII (2.4); SGA 7 VI (1.17), “Ω when K is a field”; SGA 7 VI (5.1), “special case”; SGA 7 VI (5.5), “special case”.KaehlerDifferential.idealregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 82 (StacksFrontier): “the idealJ”. References: EGA 0 (20.4.1); SGA 3 VIIA (1.4.1), “special case”.KaehlerDifferential.D_applyregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Defs.lean, line 85 (StacksFrontier): “d b = 1 ⊗ b - b ⊗ 1”. References: EGA IV (16.3.6), “special case”.
Tag 00RX, a lemma
Tag 00RX in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferential.mvPolynomialBasisregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 125 (StacksFrontier): “the basisd x_iofΩ[R[x_1, …, x_n]⁄R]”. References: EGA 0 (20.4.13); EGA 0 (21.2.5), “special case”; EGA IV (16.5.8), “affine space over a ring”; EGA IV (16.6.5), “special case”; SGA 6 VIII (5.2), “special case”; SGA 1 II (4.2), “second assertion”; SGA 1 II (4.2), “exact at Ω¹_{C/A}”.KaehlerDifferential.mvPolynomialBasis_applyregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 133 (StacksFrontier): “the basis consists of thed x_i”. References: EGA 0 (20.4.13); EGA 0 (21.2.5), “special case”; SGA 1 II (4.2), “second assertion”; SGA 1 II (4.2), “exact at Ω, affine”.
Tag 00RY, a lemma
Tag 00RY in the Stacks Project.
Declarations registered for the tag:
Algebra.instFinitePresentationKaehlerDifferentialOfFinitePresentationregistered withadd_to_stacksin StacksFrontier/RingTheory/Kaehler/Basic.lean, line 144 (StacksFrontier): “Ω[S⁄R]is finitely presented whenSis a finitely presented algebra”. References: EGA IV (16.4.22), “Ω¹ only, affine”; SGA 3 III (0.14), “special case”; SGA 7 VI (5.1), “special case”.
Tag 00RZ, a lemma
Tag 00RZ in the Stacks Project.
Declarations registered for the tag:
KaehlerDifferential.finiteregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 244 (StacksFrontier). References: EGA 0 (21.7.1), “more general”; EGA IV (17.4.1.2), “special case”; SGA 7 VI (5.5), “Coherence of Ω_{X|S}”.
Sources
Section10.132 The de Rham complex#
Section 10.132 of the Stacks Project, Tag 0FKF. 4 tags here are carried by 9 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 0FKF, the section
Tag 0FKF in the Stacks Project.
KaehlerDifferential.deRhamDifferential_comp_self, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 720. The attribute's comment: “the complex property d ∘ d = 0 of the de Rham complex of a ring map, on the exterior powers of the Kaehler differentials”.
The de Rham differential of
BoverAsquares to zero. The elementsb₀ · (d b₁ ∧ ⋯ ∧ d b_p)spanΩ^p_{B/A}overA, and on such an element the defining rule computes the composite as a wedge whose first factor isd 1 = 0.
public theorem deRhamDifferential_comp_self (p : ℕ) (ξ : ⋀[B]^p (Ω[B⁄A])) :
deRhamDifferential (A := A) (p + 1) (deRhamDifferential p ξ) = 0
KaehlerDifferential.deRhamDifferential_comp_deRhamDifferential, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 738. The attribute's comment: “the complex property d ∘ d = 0 of the de Rham complex of a ring map, as an equality of A-linear maps”.
Consecutive de Rham differentials compose to zero, as an equality of
A-linear maps. This is the complex property of the de Rham complex ofBoverA.
public theorem deRhamDifferential_comp_deRhamDifferential (p : ℕ) :
(deRhamDifferential (A := A) (B := B) (p + 1)).comp (deRhamDifferential p) = 0
Stacks.DeRham.DifferentialDescent.sourceDeRham, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 1087. The attribute's comment: “the de Rham complex of a ring map A → B, as the family of A-linear differentials on the exterior powers of the Kaehler differentials together with the defining rule on generators and the complex property d ∘ d = 0; this construction has no hypothesis”.
The de Rham complex of
BoverA, as a term ofSourceDeRham A B: the de Rham differentialsKaehlerDifferential.deRhamDifferentialon the exterior powers ofΩ[B⁄A], which obey the defining rule on generators byKaehlerDifferential.deRhamDifferential_smul_ιMulti_D. Nothing is supposed: the descent datum of Tag 07HY is produced here, and its complex property is the theoremKaehlerDifferential.deRhamDifferential_comp_deRhamDifferential, reached through the default value of the fieldcomplex.
noncomputable def sourceDeRham (A B : Type u) [CommRing A] [CommRing B] [Algebra A B] :
SourceDeRham A B
KaehlerDifferential.deRhamComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Complex.lean, line 77. The attribute's comment: “the de Rham complex Ω^0_{B/A} → Ω^1_{B/A} → ⋯ of a ring map A → B, as a CochainComplex of A-modules indexed by ℕ; the construction has no hypothesis”.
The de Rham complex
Ω^0_{B/A} → Ω^1_{B/A} → Ω^2_{B/A} → ⋯ofBoverA: the exterior powers ofΩ[B⁄A], asA-modules, with the de Rham differentials as its arrows. The construction has no hypothesis — the arrows aredeRhamDifferentialand the square-zero condition isdeRhamDifferential_comp_deRhamDifferential.
public noncomputable def deRhamComplex (A B : Type u) [CommRing A] [CommRing B]
[Algebra A B] : CochainComplex (ModuleCat.{u} A) ℕ
Tag 0FKG, an equation
Tag 0FKG in the Stacks Project.
KaehlerDifferential.deRhamDifferential, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 667. The attribute's comment: “the differential itself”.
The de Rham differential
d : Ω^p_{B/A} → Ω^{p+1}_{B/A}in degreep: theA-linear map withd (b₀ · d b₁ ∧ ⋯ ∧ d b_p) = d b₀ ∧ d b₁ ∧ ⋯ ∧ d b_pfor allb₀, …, b_p ∈ B, whered : B → Ω[B⁄A]is the universalA-derivation. That rule isdeRhamDifferential_smul_ιMulti_DanddeRhamDifferential_uniquesays it pins the map down.
public noncomputable def deRhamDifferential (p : ℕ) :
⋀[B]^p (Ω[B⁄A]) →ₗ[A] ⋀[B]^(p + 1) (Ω[B⁄A])
KaehlerDifferential.deRhamDifferential_smul_ιMulti_D, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 678. The attribute's comment: “the defining rule of deRhamDifferential”.
The defining rule of the de Rham differential:
d (b₀ · d b₁ ∧ ⋯ ∧ d b_p) = d b₀ ∧ d b₁ ∧ ⋯ ∧ d b_p. The leading scalarb₀contributes the factord b₀throughdp_apply_smul, andG_exactkills the wedge of exact forms.
public lemma deRhamDifferential_smul_ιMulti_D (p : ℕ) (b : Fin (p + 1) → B) :
deRhamDifferential p (b 0 • exteriorPower.ιMulti B p fun i ↦ D A B (b i.succ)) =
exteriorPower.ιMulti B (p + 1) fun i ↦ D A B (b i)
KaehlerDifferential.deRhamDifferential_unique, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 696. The attribute's comment: “uniqueness of deRhamDifferential”.
deRhamDifferential pis the onlyA-linear mapΩ^p_{B/A} → Ω^{p+1}_{B/A}withd (b₀ · d b₁ ∧ ⋯ ∧ d b_p) = d b₀ ∧ d b₁ ∧ ⋯ ∧ d b_p, because those elements spanΩ^p_{B/A}overA.
public theorem deRhamDifferential_unique (p : ℕ)
(d : ⋀[B]^p (Ω[B⁄A]) →ₗ[A] ⋀[B]^(p + 1) (Ω[B⁄A]))
(hd : ∀ b : Fin (p + 1) → B,
d (b 0 • exteriorPower.ιMulti B p fun i ↦ D A B (b i.succ)) =
exteriorPower.ιMulti B (p + 1) fun i ↦ D A B (b i)) :
d = deRhamDifferential p
Tag 0H8Y, a lemma
Tag 0H8Y in the Stacks Project.
KaehlerDifferential.isBaseChange_exteriorPower_and_deRhamDifferential_comm, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 962. References: EGA IV (16.6.4), “affine case”.
Stacks 0H8Y. Let
A → A'andA → Bbe ring maps, letB' = B ⊗_A A', and letψbe the canonical map⋀^p (KaehlerDifferential.map A A' B B'). ThenψexhibitsΩ^•_{B'/A'}as the base change ofΩ^•_{B/A}alongA → A', i.e.Ω^•_{B/A} ⊗_A A' = Ω^•_{B'/A'}, and it is a map of complexes for the de Rham differentials ofBoverAand ofB'overA'.
public theorem isBaseChange_exteriorPower_and_deRhamDifferential_comm
{A A' B B' : Type*} [CommRing A] [CommRing A'] [CommRing B] [CommRing B']
[Algebra A A'] [Algebra A B] [Algebra A B'] [Algebra A' B'] [Algebra B B']
[IsScalarTower A A' B'] [IsScalarTower A B B'] [Algebra.IsPushout A A' B B']
(ψ : ∀ p : ℕ, ⋀[B]^p (Ω[B⁄A]) →ₗ[B] ⋀[B']^p (Ω[B'⁄A']))
(hψ : ∀ (p : ℕ) (ω : Fin p → Ω[B⁄A]),
ψ p (exteriorPower.ιMulti B p ω) =
exteriorPower.ιMulti B' p fun i ↦ map A A' B B' (ω i)) :
(∀ p : ℕ, IsBaseChange A' ((ψ p).restrictScalars A)) ∧
∀ (p : ℕ) (ω : ⋀[B]^p (Ω[B⁄A])), ψ (p + 1) (deRhamDifferential p ω) =
deRhamDifferential (A := A') (B := B') p (ψ p ω)
Tag 07HY, a lemma
Tag 07HY in the Stacks Project.
exists_unique_quotient_deRhamDifferential, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DeRham/Basic.lean, line 1842.
Stacks 07HY. Let
Sbe the de Rham complex ofBoverAand letπ : Ω[B⁄A] → Ωbe a surjection ofB-modules whose kernel is generated by elementsωwithπ ω = 0and(⋀^2 π) (d ω) = 0. Then there is exactly one family ofA-linear mapsΩ^p = ⋀[B]^p Ω → Ω^{p+1}making the squaresd ∘ (⋀^p π) = (⋀^{p+1} π) ∘ d_{B/A}commute; it obeys the same ruled (f₀ · d f₁ ∧ ⋯ ∧ d f_p) = d f₀ ∧ ⋯ ∧ d f_pon generators, withd f = π (d_{B/A} f), and it is again a complex.
theorem exists_unique_quotient_deRhamDifferential
(S : SourceDeRham A B)
{Ω : Type u} [AddCommGroup Ω] [Module B Ω] (π : Ω[B⁄A] →ₗ[B] Ω)
(hπ : Function.Surjective π)
(hgen : S.GenerationHypothesis π) :
∃ dΩ : (∀ p, TgtA A B Ω p →ₗ[A] TgtA A B Ω (p + 1)),
S.Commutes π dΩ ∧
SatisfiesRule π dΩ ∧
(∀ dΩ' : (∀ p, TgtA A B Ω p →ₗ[A] TgtA A B Ω (p + 1)), S.Commutes π dΩ' → dΩ' = dΩ) ∧
(∀ p, (dΩ (p + 1)).comp (dΩ p) = 0)
Sources
Section10.133 Finite order differential operators#
Section 10.133 of the Stacks Project, Tag 09CH. 12 tags here are carried by 15 declarations of the repository (all in StacksFrontier), quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 09CI, a definition
Tag 09CI in the Stacks Project.
LinearMap.IsDifferentialOperatorOfOrderLE, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/Defs.lean, line 110. The attribute's comment: “The source's k bounds the order: Diff⁰ ⊆ Diff¹ ⊆ …, whence LE in the name. The commutator m ↦ D (g • m) - g • D m is the difference of the two composites of D with Algebra.lsmul R R _ g, multiplication by g. The S-module Diffᵏ_{S/R}(M, N) of the paragraph following the definition is a separate statement. See the module docstring.”. References: EGA IV (16.8.1), “affine (module) case”; SGA 3 VIIA (1.4), “affine case”; SGA 6 II (AppII.1.2.2), “Diff^n, affine case”; SGA 3 VIIA (1.1.1), “partial”.
Let
R → Sbe a ring map, letMandNbeS-modules, and letk : ℕ.D.IsDifferentialOperatorOfOrderLE S ksays that theR-linear mapD : M → Nis a differential operator of order at mostkrelative toR → S. By induction onk: order at most0meansS-linear, and order at mostk + 1means that for everyg : Sthe commutatorm ↦ D (g • m) - g • D mis a differential operator of order at mostk.
public def IsDifferentialOperatorOfOrderLE (S : Type*) [Semiring S] [Algebra R S] [Module S M]
[IsScalarTower R S M] [Module S N] [IsScalarTower R S N] : ℕ → (M →ₗ[R] N) → Prop
Tag 09CJ, a lemma
Tag 09CJ in the Stacks Project.
isDiffOpOfOrder_comp, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/Defs.lean, line 458. References: EGA IV (16.8.9), “affine case”; SGA 3 VIIA (1.2), “affine, deviations of id”; SGA 3 VIIA (1.4), “partial”.
The composition of a differential operator of order
kwith one of orderk'is a differential operator of orderk + k'.
theorem isDiffOpOfOrder_comp
{L : Type*} [AddCommGroup L] [Module S L] [Module R L] [IsScalarTower R S L]
(k k' : ℕ) (D : L →ₗ[R] M) (D' : M →ₗ[R] N)
(hD : IsDiffOpOfOrder S k D) (hD' : IsDiffOpOfOrder S k' D') :
IsDiffOpOfOrder S (k + k') (D'.comp D)
Tag 09CK, a lemma
Tag 09CK in the Stacks Project.
LinearMap.exists_universal_isDifferentialOperatorOfOrderLE, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/PrincipalParts.lean, line 335. The attribute's comment: “Stated in the universal-object form of the paragraph following the lemma: the isomorphism Diffᵏ_{S/R}(M, N) = Hom_S(Pᵏ_{S/R}(M), N) is the map α ↦ α ∘ D_univ, so the universal operator is pinned and functoriality in N is automatic. See the module docstring.”. References: EGA IV (16.8.3), “affine case”; SGA 6 II (AppII.1.2.3), “affine (module) case”; SGA 6 II (AppII.1.2.2), “affine case”.
Stacks 09CK. Let
R → Sbe a ring map, letMbe anS-module and letk : ℕ. There exist anS-modulePand a differential operatorD_univ : M → Pof order at mostkrelative toR → Ssuch that, for everyS-moduleN, precomposition withD_univis a bijection from theS-linear mapsP → Nonto the differential operatorsM → Nof order at mostk. ThusP = Pᵏ_{S/R}(M)representsDiffᵏ_{S/R}(M, -), functorially inN.
public theorem exists_universal_isDifferentialOperatorOfOrderLE (k : ℕ) :
∃ (P : Type (max v w)) (_ : AddCommGroup P) (_ : Module R P) (_ : Module S P)
(_ : IsScalarTower R S P) (Duniv : M →ₗ[R] P),
Duniv.IsDifferentialOperatorOfOrderLE S k ∧
∀ (N : Type x) [AddCommGroup N] [Module R N] [Module S N] [IsScalarTower R S N],
Function.Injective (fun α : P →ₗ[S] N => α.restrictScalars R ∘ₗ Duniv) ∧
Set.range (fun α : P →ₗ[S] N => α.restrictScalars R ∘ₗ Duniv) =
{D : M →ₗ[R] N | D.IsDifferentialOperatorOfOrderLE S k}
Tag 09CL, a definition
Tag 09CL in the Stacks Project.
LinearMap.IsUniversalDifferentialOperatorOfOrderLE, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/Defs.lean, line 387. The attribute's comment: “The source names the module Pᵏ_{S/R}(M) it has just constructed; defined here is the property of a pair (P, D) of being one, which determines it up to unique isomorphism and so applies to every construction. Existence of such a pair is Lemma 09CK. See the module docstring.”. References: SGA 6 II (AppII.1.2.2), “affine case”.
Let
R → Sbe a ring map, letMbe anS-module and letk : ℕ. For anR-linear mapD : M → Pinto anS-moduleP, the propertyD.IsUniversalDifferentialOperatorOfOrderLE S ksays thatDis a differential operator of order at mostkrelative toR → Sand that every differential operatorE : M → Nof order at mostkinto anS-module factors asE = α ∘ Dfor a uniqueS-linear mapα : P → N. Equivalentlyα ↦ α ∘ Dis the canonical isomorphismHom_S(P, N) = Diffᵏ_{S/R}(M, N)of Lemma 09CK: that is,Pis a module of principal parts of orderkofM, writtenPᵏ_{S/R}(M), andDis its universal differential operator. Such a pair is unique up to unique isomorphism.
public def IsUniversalDifferentialOperatorOfOrderLE (S : Type v) [Semiring S] [Algebra R S]
[Module S M] [IsScalarTower R S M] [Module S P] [IsScalarTower R S P] (k : ℕ)
(D : M →ₗ[R] P) : Prop
Tag 09CM, an example
Tag 09CM in the Stacks Project.
diff1EquivDerProd, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/OrderOne.lean, line 177. References: SGA 3 VIIA (1.3.1), “Dev≤1 ≃ O_S ⊕ Der_S”.
The
S-module isomorphismDiff¹(S, N) ≃ₗ[S] Der_R(S, N) × Ngiven byD ↦ (σ_D, D 1), whereσ_D g = D g - g · D 1, with inverse(σ, x) ↦ σ + λ_x.
def diff1EquivDerProd : Diff1 R S N ≃ₗ[S] (Derivation R S N × N)
Tag 09CN, a lemma
Tag 09CN in the Stacks Project.
LinearMap.IsDifferentialOperatorOfOrderLE.exists_shortExact_principalParts, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/PrincipalParts.lean, line 897. The attribute's comment: “Stated for an arbitrary universal order-≤ 1 differential operator D : M → P rather than for a chosen construction of P¹_{S/R}(M), whose existence is Lemma 09CK; both maps of the sequence are pinned by equations, from which functoriality in M is formal. See the module docstring.”. References: SGA 6 II (AppII.1.2.4), “n = 1, ring setting”.
Stacks 09CN. Let
R → Sbe a ring map and letMbe anS-module. LetD : M → Pbe a universal differential operator of order at most1onM, i.e.Dhas order at most1and every order-≤ 1operator out ofMfactors uniquely throughDby anS-linear map, so thatPis a module of principal partsP¹_{S/R}(M). Then there is a short exact sequence0 → Ω[S⁄R] ⊗[S] M → P → M → 0, the sequence of principal parts, whose first map sendsd b ⊗ₜ mtoD (b • m) - b • D mand whose second map is the retraction ofD.
public theorem exists_shortExact_principalParts {R : Type*} {S : Type u} {M : Type v} {P : Type w}
[CommRing R] [CommRing S] [Algebra R S]
[AddCommGroup M] [Module R M] [Module S M] [IsScalarTower R S M]
[AddCommGroup P] [Module R P] [Module S P] [IsScalarTower R S P]
(D : M →ₗ[R] P) (hD : D.IsDifferentialOperatorOfOrderLE S 1)
(huniv : ∀ (N : Type (max u v w)) [AddCommGroup N] [Module R N] [Module S N]
[IsScalarTower R S N] (E : M →ₗ[R] N), E.IsDifferentialOperatorOfOrderLE S 1 →
∃! α : P →ₗ[S] N, ∀ m : M, α (D m) = E m) :
∃ (ι : Ω[S⁄R] ⊗[S] M →ₗ[S] P) (π : P →ₗ[S] M),
(∀ (b : S) (m : M), ι (KaehlerDifferential.D R S b ⊗ₜ[S] m) = D (b • m) - b • D m) ∧
(∀ m : M, π (D m) = m) ∧
Function.Injective ι ∧ Function.Exact ι π ∧ Function.Surjective π
Tag 0H8Z, a lemma
Tag 0H8Z in the Stacks Project.
LinearMap.IsUniversalDifferentialOperatorOfOrderLE.isBaseChange, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/BaseChange.lean, line 880. The attribute's comment: “Modules of principal parts appear through the universal property of Definition 09CL rather than as chosen constructions, and both base changes in Mathlib's IsBaseChange form. The map of Remark 09CP is the hypothesis hψ, which pins it since a universal D generates P over B. See the module docstring.”.
Stacks 0H8Z. Let
A → A'andA → Bbe ring maps, letB' = B ⊗_A A', letMbe aB-module and letM' = M ⊗_A A', aB'-module, withφ : M → M'the canonical map. LetD : M → Pbe a universal differential operator of order at mostkrelative toA → Band letD' : M' → P'be one relative toA' → B', so thatP = Pᵏ_{B/A}(M)andP' = Pᵏ_{B'/A'}(M')are modules of principal parts. Then the mapψ : P → P'of Remark 09CP, i.e. the uniqueB-linear map withψ ∘ D = D' ∘ φ, exhibitsP'as the base change ofPalongA → A':Pᵏ_{B/A}(M) ⊗_A A' = Pᵏ_{B'/A'}(M').
public theorem isBaseChange
[CommRing A] [CommRing A'] [CommRing B] [CommRing B']
[Algebra A A'] [Algebra A B] [Algebra A B'] [Algebra A' B'] [Algebra B B']
[IsScalarTower A A' B'] [IsScalarTower A B B'] [Algebra.IsPushout A A' B B']
[AddCommGroup M] [Module A M] [Module B M] [IsScalarTower A B M]
[AddCommGroup M'] [Module A M'] [Module A' M'] [Module B M'] [Module B' M']
[IsScalarTower A A' M'] [IsScalarTower A B M'] [IsScalarTower A' B' M']
[IsScalarTower B B' M']
[AddCommGroup P] [Module A P] [Module B P] [IsScalarTower A B P]
[AddCommGroup P'] [Module A P'] [Module A' P'] [Module B P'] [Module B' P']
[IsScalarTower A A' P'] [IsScalarTower A B P'] [IsScalarTower A' B' P']
[IsScalarTower B B' P']
{k : ℕ} {D : M →ₗ[A] P} {D' : M' →ₗ[A'] P'}
(hD : D.IsUniversalDifferentialOperatorOfOrderLE B k)
(φ : M →ₗ[B] M') (hφ : IsBaseChange A' (φ.restrictScalars A))
(hD' : D'.IsUniversalDifferentialOperatorOfOrderLE B' k)
(ψ : P →ₗ[B] P') (hψ : ∀ m : M, ψ (D m) = D' (φ m)) :
IsBaseChange A' (ψ.restrictScalars A)
Tag 0H90, a lemma
Tag 0H90 in the Stacks Project.
LinearMap.isUniversalDifferentialOperatorOfOrderLE_mkQ_comp_mk_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/PrincipalParts.lean, line 1357. The attribute's comment: “Stated as: the quotient, with the map m ↦ class of 1 ⊗ₜ m, is a module of principal parts of order k (Definition 09CL), which supplies the source's canonical isomorphism by uniqueness of a representing pair and pins the map. The S ⊗[R] S-action on S ⊗[R] M is the hypothesis hsmul, which determines it; it cannot be an instance, as it restricts to two different Module S (S ⊗[R] M) structures. See the module docstring.”. References: EGA IV (16.8.2), “factorization of D”; EGA IV (16.8.1), “special case”; SGA 3 VIIA (1.4.1), “affine case”.
Stacks 0H90. Let
R → Sbe a ring map, letMbe anS-module, letk : ℕand letJ = Ker(S ⊗[R] S → S)be the kernel of the multiplication map. Then theS-module(S ⊗[R] M)/J^{k + 1}(S ⊗[R] M), withsacting as multiplication bys ⊗ₜ 1, together with theR-linear mapm ↦ class of 1 ⊗ₜ m, is a module of principal parts of orderkofM: that map is a differential operator of order at mostkrelative toR → Sand every such operator out ofMfactors uniquelyS-linearly through it. Equivalently, there is a canonical isomorphismPᵏ_{S/R}(M) → (S ⊗[R] M)/J^{k + 1}(S ⊗[R] M)carrying the universal differential operator of orderktom ↦ class of 1 ⊗ₜ m.
public theorem isUniversalDifferentialOperatorOfOrderLE_mkQ_comp_mk_one
[Module (S ⊗[R] S) (S ⊗[R] M)] [IsScalarTower S (S ⊗[R] S) (S ⊗[R] M)]
(hsmul : ∀ (a b t : S) (m : M), (a ⊗ₜ[R] b) • (t ⊗ₜ[R] m) = (a * t) ⊗ₜ[R] (b • m)) (k : ℕ) :
(((KaehlerDifferential.ideal R S ^ (k + 1) •
(⊤ : Submodule (S ⊗[R] S) (S ⊗[R] M))).restrictScalars S).mkQ.restrictScalars R ∘ₗ
TensorProduct.mk R S M 1).IsUniversalDifferentialOperatorOfOrderLE S k
Tag 0G34, a lemma
Tag 0G34 in the Stacks Project.
deRham_isDiffOpOfOrder_one, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/OrderOne.lean, line 310.
Let
A → Bbe a ring map andi ≥ 0. The de Rham differentiald : Ωⁱ_{B/A} → Ωⁱ⁺¹_{B/A}, an additive map that isA-linear (hAlin) and satisfiesd (b₀ · db₁ ∧ ⋯ ∧ dbᵢ) = db₀ ∧ db₁ ∧ ⋯ ∧ dbᵢ(hChar), is a differential operator of order1relative toA → B: for everyb ∈ Bthe mapω ↦ d (b · ω) - b · d ωisB-linear.
theorem deRham_isDiffOpOfOrder_one (i : ℕ)
(d : (⋀[B]^i (Ω[B⁄A])) →+ (⋀[B]^(i + 1) (Ω[B⁄A])))
(hAlin : IsALinear A B d)
(hChar : ∀ b : Fin (i+1) → B, d (deRhamGen i b) = deRhamTop i b) :
IsDiffOpLE A B 1 d
Tag 0G35, a lemma
Tag 0G35 in the Stacks Project.
isDiffOpLE_succ_of_comm_isDiffOpLE_on_generators, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/Defs.lean, line 763.
Let
A → Bbe a ring map, let(g i)generateBas anA-algebra, letM, NbeB-modules andD : M →+ NanA-linear map. Fixk ≥ 1(writtenk + 1here). If for everyithe commutatordiffOpComm (g i) Dis a differential operator of order≤ k, thenDis a differential operator of order≤ k + 1.
theorem isDiffOpLE_succ_of_comm_isDiffOpLE_on_generators
{ι : Type*} (g : ι → B)
(hgen : Algebra.adjoin A (Set.range g) = ⊤)
{M N : Type*} [AddCommGroup M] [AddCommGroup N] [Module B M] [Module B N]
(D : M →+ N) (hD : IsALinear A B D) (k : ℕ)
(hcomm : ∀ i : ι, IsDiffOpLE A B k (diffOpComm (g i) D)) :
IsDiffOpLE A B (k + 1) D
Tag 0G36, a lemma
Tag 0G36 in the Stacks Project.
LinearMap.IsDifferentialOperatorOfOrderLE.existsUnique_extension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/Localization.lean, line 632. The attribute's comment: “Stated for abstract localizations IsLocalization T S', IsLocalizedModule T f, IsLocalizedModule T g rather than for Localization T and LocalizedModule T. The order of the extension is relative to R → S', as in the source's proof. extends is spelled as the equation E ∘ₗ f.restrictScalars R = g.restrictScalars R ∘ₗ D, so the source's canonical maps are pinned; the case k = 0 is IsLocalizedModule.lift. See the module docstring.”.
Stacks 0G36. Let
R → Sbe a ring map, letMandNbeS-modules and letT ⊆ Sbe a multiplicative subset. A differential operatorD : M → Nof order at mostkrelative toR → Sextends uniquely to a differential operator of order at mostkrelative toR → T⁻¹Son the localizations: there is a uniqueR-linear mapE : T⁻¹M → T⁻¹Nwhich is a differential operator of order at mostkand satisfiesE ∘ f = g ∘ Dfor the localization mapsf : M → T⁻¹Mandg : N → T⁻¹N.
public theorem existsUnique_extension {k : ℕ} {D : M →ₗ[R] N}
(hD : D.IsDifferentialOperatorOfOrderLE S k) (T : Submonoid S) [IsLocalization T S']
(f : M →ₗ[S] M') (g : N →ₗ[S] N') [IsLocalizedModule T f] [IsLocalizedModule T g] :
∃! E : M' →ₗ[R] N', E.IsDifferentialOperatorOfOrderLE S' k ∧
E ∘ₗ f.restrictScalars R = g.restrictScalars R ∘ₗ D
Tag 0G37, a lemma
Tag 0G37 in the Stacks Project.
LinearMap.IsDifferentialOperatorOfOrderLE.rTensorB, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/BaseChange.lean, line 363. The attribute's comment: “the operator D ⊗ id_N itself; rTensorB_tmul is its values on pure tensors, order_rTensorB the order bound and eq_rTensorB its uniqueness. The B-algebra structure on A ⊗[R] B and the actions on M ⊗[R] N, M' ⊗[R] N are hypotheses because Mathlib has no such instances; halg, hsmul and hsmul' pin them to the canonical ones. See the module docstring.”.
The operator
D ⊗ id_N. The tensor product of anR-linear mapD : M →ₗ[R] M'with the identity of aB-moduleN, as aB-linear mapM ⊗[R] N → M' ⊗[R] N. Its underlyingR-linear map isLinearMap.rTensor N D; the content of the definition is theB-linearity,Bacting throughalgebraMap B (A ⊗[R] B) b = 1 ⊗ₜ bon the factorNthatD ⊗ id_Nleaves alone. Herehsmulandhsmul'say thatA ⊗[R] Bacts on the tensor products by(a ⊗ b) • (m ⊗ n) = (a • m) ⊗ (b • n), andhalgthatB → A ⊗[R] Bisb ↦ 1 ⊗ b.
public def rTensorB
(halg : ∀ b : B, algebraMap B (A ⊗[R] B) b = 1 ⊗ₜ[R] b)
(hsmul : ∀ (a : A) (b : B) (m : M) (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(hsmul' : ∀ (a : A) (b : B) (m : M') (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(D : M →ₗ[R] M') : M ⊗[R] N →ₗ[B] M' ⊗[R] N
LinearMap.IsDifferentialOperatorOfOrderLE.rTensorB_tmul, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/BaseChange.lean, line 375. The attribute's comment: “the values of rTensorB on pure tensors”.
D ⊗ id_Nsendsm ⊗ ntoD m ⊗ n.
public lemma rTensorB_tmul
(halg : ∀ b : B, algebraMap B (A ⊗[R] B) b = 1 ⊗ₜ[R] b)
(hsmul : ∀ (a : A) (b : B) (m : M) (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(hsmul' : ∀ (a : A) (b : B) (m : M') (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(D : M →ₗ[R] M') (m : M) (n : N) :
rTensorB halg hsmul hsmul' D (m ⊗ₜ[R] n) = D m ⊗ₜ[R] n
LinearMap.IsDifferentialOperatorOfOrderLE.order_rTensorB, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/BaseChange.lean, line 389. The attribute's comment: “the order bound on rTensorB”.
If
Dis a differential operator of order at mostkrelative toR → A, thenD ⊗ id_Nis one of order at mostkrelative toB → A ⊗[R] B.
public lemma order_rTensorB {k : ℕ} {D : M →ₗ[R] M'}
(hD : D.IsDifferentialOperatorOfOrderLE A k)
(halg : ∀ b : B, algebraMap B (A ⊗[R] B) b = 1 ⊗ₜ[R] b)
(hsmul : ∀ (a : A) (b : B) (m : M) (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(hsmul' : ∀ (a : A) (b : B) (m : M') (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n)) :
(rTensorB halg hsmul hsmul' D).IsDifferentialOperatorOfOrderLE (A ⊗[R] B) k
LinearMap.IsDifferentialOperatorOfOrderLE.eq_rTensorB, a lemma in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/DifferentialOperator/BaseChange.lean, line 402. The attribute's comment: “uniqueness of rTensorB”.
D ⊗ id_Nis the onlyB-linear mapM ⊗[R] N → M' ⊗[R] Ncarryingm ⊗ ntoD m ⊗ n.
public lemma eq_rTensorB {D : M →ₗ[R] M'}
(halg : ∀ b : B, algebraMap B (A ⊗[R] B) b = 1 ⊗ₜ[R] b)
(hsmul : ∀ (a : A) (b : B) (m : M) (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(hsmul' : ∀ (a : A) (b : B) (m : M') (n : N),
(a ⊗ₜ[R] b) • (m ⊗ₜ[R] n) = (a • m) ⊗ₜ[R] (b • n))
(D' : M ⊗[R] N →ₗ[B] M' ⊗[R] N)
(hD' : ∀ (m : M) (n : N), D' (m ⊗ₜ[R] n) = D m ⊗ₜ[R] n) :
D' = rTensorB halg hsmul hsmul' D
Sources
Section10.134 The naive cotangent complex#
Section 10.134 of the Stacks Project, Tag 00S0. 19 tags here are carried by 34 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 07BL, an equation
Tag 07BL in the Stacks Project.
Declarations registered for the tag:
Algebra.Generators.selfregistered withadd_to_stacksin StacksFrontier/MathlibRegistrations/Ch10.lean, line 261 (StacksFrontier): “the canonical surjection R[S] → S, [s] ↦ s: the generators of S indexed by S itself, whose map MvPolynomial S R → S is aeval id”.
Tag 07BM, an equation
Tag 07BM in the Stacks Project.
Declarations registered for the tag:
Algebra.Extension.cotangentComplexregistered withadd_to_stacksin StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 569 (StacksFrontier): “the naive cotangent differential”. References: EGA IV (17.15.9); SGA 1 II (5.9), “more general”; SGA 6 0 (4.4), “special case”; SGA 6 VIII (2.1), “affine case”.
Tag 07BN, a definition
Tag 07BN in the Stacks Project.
Algebra.naiveCotangentComplex, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 161. The attribute's comment: “The complex itself; Mathlib has its differential (Algebra.Extension.cotangentComplex at Algebra.Generators.self R S) and its degree-1 homology (Algebra.H1Cotangent), but not the two-term complex. See the module docstring.”. References: SGA 6 VIII (2.1), “affine case, R[S]”.
The naive cotangent complex (Stacks 07BN): for a ring map
R → S, the two-term chain complex ofS-moduleswhereNL_{S/R} = (I/I² ⟶ Ω_{R[S]/R} ⊗_{R[S]} S)Iis the kernel of the canonical surjectionR[S] → S,[s] ↦ s, withI/I²in homological degree1,Ω_{R[S]/R} ⊗_{R[S]} Sin homological degree0, and the canonical map of Stacks 07BM, sending the class off ∈ Itodf ⊗ 1, as its differential. It is zero in all other degrees. Its degree-0homology isΩ_{S/R}and its degree-1homology isH₁(L_{S/R}) = Algebra.H1Cotangent R S.
public noncomputable def Algebra.naiveCotangentComplex (R : Type u) (S : Type v) [CommRing R]
[CommRing S] [Algebra R S] : ChainComplex (ModuleCat.{max u v} S) ℕ
Tag 06RQ, an equation
Tag 06RQ in the Stacks Project.
Algebra.Generators.defaultHom_comp_defaultHom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Functoriality.lean, line 221. The attribute's comment: “The display is the datum for functoriality of NL; what is stated is the compatibility with composition of the canonical maps it produces, at the level of morphisms of presentations. See the module docstring.”.
Functoriality of the naive cotangent complex in a square of rings (Stacks 06RQ): given two commutative squares of rings side by side,
a presentationS --φ--> S' --φ'--> S'' ↑ ↑ ↑ R -----> R' ------> R''PofSoverR, a presentationP''ofS''overR'', and the canonical presentationR'[S'] → S'of the intermediate algebra, the composite of the canonical comparison morphisms of presentationsP → R'[S']andR'[S'] → P''is the canonical comparison morphismP → P''of the outer square. Hence the canonical maps of naive cotangent complexesNL_{S/R} → NL_{S'/R'} → NL_{S''/R''}compose to the canonical mapNL_{S/R} → NL_{S''/R''}.
public theorem defaultHom_comp_defaultHom (P : Generators R S ι) (P'' : Generators R'' S'' ι'') :
(defaultHom (self R' S') P'').comp (defaultHom P (self R' S')) = defaultHom P P''
Tag 00S1, a lemma
Tag 00S1 in the Stacks Project.
Deformation.Artin.derivedNaiveCotangentComplexIso, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Deformation/Artin/Obstruction/NaiveCotangentPresentation.lean, line 348. The attribute's comment: “presentation independence in the derived category: the comparison with the canonical presentation is an isomorphism in D(A)”. References: SGA 6 0 (4.3), “partial”; SGA 6 0 (4.4), “special case”; SGA 6 VIII (2.2), “special case”.
For any presentation of
AoverΛ, the comparison with the canonical presentation is an isomorphismNL(α) ≅ NL_{A/Λ}in the derived category ofA-modules.
public def derivedNaiveCotangentComplexIso (P : Algebra.Generators Λ A ι)
(φ : P.Hom (canonicalGenerators Λ A)) :
DerivedCategory.Q.obj (twoTermComplex (nlRestrict A P)) ≅
derivedNaiveCotangentComplex Λ A
NaiveCotangent.exists_hom, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 417. The attribute's comment: “(1)”.
Existence. There exists a morphism of presentations
varphifromαtoα'covering the square.
theorem exists_hom (P : Generators R S ι) (P' : Generators R' S' ι') : Nonempty (P.Hom P')
NaiveCotangent.nlMap_homotopic, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 427. The attribute's comment: “(2)”.
Homotopy uniqueness. Any two morphisms of presentations
varphi, varphi'fromαtoα'induce homotopic chain mapsNL(varphi), NL(varphi')(over the source baseS). The homotopy is theS-linear maph : Ω_{P/R} ⊗_P S → I'/(I')²(= P.CotangentSpace →ₗ[S] P'.Cotangent) given byAlgebra.Extension.Hom.subof the two extension homs; the two homotopy relations areCotangent.map_sub_mapandCotangentSpace.map_sub_map.
theorem nlMap_homotopic (P : Generators R S ι) (P' : Generators R' S' ι') (φ φ' : P.Hom P') :
Homotopic (nlMap P P' φ) (nlMap P P' φ')
NaiveCotangent.nlMapBase_comp_nlMapBase, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 436. The attribute's comment: “(3)”.
Compatibility with composition. Given a commutative diagram of two squares and compatible morphisms of presentations
varphi : P → P',varphi' : P' → P'', the compositevarphi' ∘ varphiis a morphism of presentations fromαtoα''and, viewing everything over the base ringS,NL(varphi') ∘ NL(varphi) = NL(varphi' ∘ varphi).
theorem nlMapBase_comp_nlMapBase {R'' S'' ι'' : Type*} [CommRing R''] [CommRing S'']
[Algebra R'' S''] [Algebra R' R''] [Algebra R' S''] [Algebra S' S''] [Algebra S S'']
[IsScalarTower R' R'' S''] [IsScalarTower R' S' S''] [IsScalarTower S S' S''] [Algebra R R'']
[Algebra R S''] [IsScalarTower R R' R''] [IsScalarTower R R'' S''] [IsScalarTower R S S'']
(P : Generators R S ι) (P' : Generators R' S' ι') (P'' : Generators R'' S'' ι'') (φ : P.Hom P')
(φ' : P'.Hom P'') :
(nlMapBase S P' P'' φ').comp (nlMapBase S P P' φ) = nlMapBase S P P'' (φ'.comp φ)
NaiveCotangent.nlMap_isHomotopyEquiv_and_isQuasiIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 516. The attribute's comment: “(4)”.
Isomorphism case. If
R → R'andφ : S → S'are isomorphisms, then for any morphism of presentationsvarphifromαtoα'the induced chain mapNL(varphi)(overS) is both a homotopy equivalence and a quasi-isomorphism.
theorem nlMap_isHomotopyEquiv_and_isQuasiIso (hR : Function.Bijective (algebraMap R R'))
(hS : Function.Bijective (algebraMap S S')) (P : Generators R S ι) (P' : Generators R' S' ι')
(φ : P.Hom P') : IsHomotopyEquiv (nlMap P P' φ) ∧ IsQuasiIso (nlMap P P' φ)
NaiveCotangent.nlMap_canonical_isQuasiIso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Defs.lean, line 559.
Comparison with the canonical complex. Any morphism of presentations
varphifrom a presentationαofS/Rto the canonical presentationα_can : R[S] → Sinduces a quasi-isomorphismNL(α) → NL_{S/R}.
theorem nlMap_canonical_isQuasiIso (P : Generators R S ι) (φ : P.Hom (canonicalGenerators R S)) :
IsQuasiIso (nlMap P (canonicalGenerators R S) φ)
Tag 08Q1, a lemma
Tag 08Q1 in the Stacks Project.
natExt_cotangent_subsingleton, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 1228. The attribute's comment: “Ingredient only, and only for the variables presentation B = MvPolynomial ι A: the degree-1 term vanishes. The homotopy equivalence NL_{B/A} ≃ (0 → Ω_{B/A}) is not stated.”.
The degree one module of
NL_{B/A}vanishes for the presentationnatExt A ιofB = MvPolynomial ι A.
theorem natExt_cotangent_subsingleton (A : Type*) [CommRing A] (ι : Type*) :
Subsingleton ((natExt A ι).Cotangent)
natExt_toKaehler_bijective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 1246. The attribute's comment: “Ingredient only, and only for the variables presentation B = MvPolynomial ι A: the degree-0 term is Ω via the augmentation. The homotopy equivalence NL_{B/A} ≃ (0 → Ω_{B/A}) is not stated.”.
The augmentation
P.toKaehleris aB-linear isomorphism ofP.CotangentSpaceontoΩ[B⁄A]for the presentationP = natExt A ι.
theorem natExt_toKaehler_bijective (A : Type*) [CommRing A] (ι : Type*) :
Function.Bijective (natExt A ι).toKaehler
Tag 00S2, a lemma
Tag 00S2 in the Stacks Project.
Algebra.Generators.Cotangent.map_ker_baseChange_cotangentComplex, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/Kaehler/JacobiZariski.lean, line 144. The attribute's comment: “Exactness at H₁(L_{C/A}), the one node of the six term sequence that is not in Mathlib; the term on the left is the source's H₁(NL_{B/A} ⊗_B C), so no Tor vanishing hypothesis is needed. See the module docstring.”.
The Jacobi-Zariski sequence is exact at
H₁(L_{C/A}): letA → B → Cbe ring maps, letα : A[x_s, s ∈ S] → Bbe a presentation with kernelI, letβ : B[y_t, t ∈ T] → Cbe a presentation with kernelJ, and letγ : A[x_s, y_t] → Cbe the induced presentation ofCwith kernelK. Then the image inK/K²ofH₁(NL_{B/A} ⊗_B C) = Ker(I/I² ⊗_B C → Ω_{A[x_s]/A} ⊗ C), under the mapI/I² ⊗_B C → K/K²induced byA[x_s] → A[x_s, y_t], is the intersection ofH₁(L_{C/A}) = Ker(K/K² → Ω_{A[x_s, y_t]/A} ⊗ C)with the kernel of the mapK/K² → J/J²induced byA[x_s, y_t] → B[y_t], i.e. with the kernel ofH₁(L_{C/A}) → H₁(L_{C/B}).
public theorem map_ker_baseChange_cotangentComplex (Q : Generators S T ι)
(P : Generators R S σ) :
Submodule.map ((Extension.Cotangent.map (Q.toComp P).toExtensionHom).liftBaseChange T)
(LinearMap.ker (P.toExtension.cotangentComplex.baseChange T)) =
LinearMap.ker (Q.comp P).toExtension.cotangentComplex ⊓
LinearMap.ker (Extension.Cotangent.map (Q.ofComp P).toExtensionHom)
NaiveCotangent.jacobiZariski_sixTerm_exact_extension, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/JacobiZariskiPresentations.lean, line 272. The attribute's comment: “the six-term exact sequence with its middle column an ARBITRARY presentation of C over A, rather than the presentation Q.comp P induced by the other two, which is what NaiveCotangent.jacobiZariski_sixTerm_exact gives; the two are compared by Stacks 00S1 (4), which this statement uses but does not state”.
The Jacobi-Zariski six-term exact sequence over three independently chosen presentations (Stacks 00S2 together with Stacks 00S1). Let
A → B → Cbe ring maps, letα : A[x_s] → Bbe a presentation ofBoverA, letβ : B[y_t] → Cbe a presentation ofCoverBand letNbe any presentation ofCoverA. Choose morphisms of extensionsvarphi : α ⟶ Nover the square with vertical morphismsid_AandB → C, andpsi : N ⟶ βover the square with vertical morphismsA → Bandid_C. Thenis exact at each of its five interior nodes,H₁(NL(α) ⊗_B C) → H₁(NL(N)) → H₁(NL(β)) --δ--> H₀(NL(α) ⊗_B C) → H₀(NL(N)) → H₀(NL(β)) → 0δbeingNaiveCotangent.jacobiZariskiConnecting.The two comparison maps do not depend on the choice of
varphiandpsi(NaiveCotangent.homotopic_nlExtensionBaseChangeMapandNaiveCotangent.homotopic_nlExtensionOverMap, which are Stacks 00S1 (2)), so the sequence is canonical.
theorem jacobiZariski_sixTerm_exact_extension (Q : Generators S T ι)
(P : Generators R S σ) (N : Generators R T τ)
(φ : P.toExtension.Hom N.toExtension) (ψ : N.toExtension.Hom Q.toExtension) :
Exact (nlExtensionBaseChangeMap (T := T) φ).onH₁ (nlExtensionOverMap ψ).onH₁ ∧
Exact (nlExtensionOverMap ψ).onH₁ (jacobiZariskiConnecting Q P) ∧
Exact (jacobiZariskiConnecting Q P) (nlExtensionBaseChangeMap (T := T) φ).onH₀ ∧
Exact (nlExtensionBaseChangeMap (T := T) φ).onH₀ (nlExtensionOverMap ψ).onH₀ ∧
Surjective (nlExtensionOverMap ψ).onH₀
NaiveCotangent.jacobiZariski_sixTerm_exact_canonical, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/JacobiZariskiPresentations.lean, line 326. The attribute's comment: “the six-term exact sequence between the naive cotangent complexes of the three CANONICAL presentations of Stacks 07BL, rather than of the three presentations of the source's own proof”.
The Jacobi-Zariski six-term exact sequence over the canonical presentations of Stacks 07BL. For ring maps
A → B → C,is exact at each of its five interior nodes, the three complexes being the naive cotangent complexes of the canonical presentationsH₁(NL_{B/A} ⊗_B C) → H₁(NL_{C/A}) → H₁(NL_{C/B}) --δ--> C ⊗_B Ω_{B/A} → Ω_{C/A} → Ω_{C/B} → 0A[B] → B,A[C] → CandB[C] → C, and the two comparison maps those attached to any morphisms of extensions between them, on which they do not depend.This is
NaiveCotangent.jacobiZariski_sixTerm_exact_extensionat the canonical presentation ofCoverA; it is the form in which the stalkwise statements of Stacks 0E1Y need it, the stalk of the naive cotangent complex being the naive cotangent complex of the canonical presentation of the stalk (Stacks 0D09), and the stalk of the canonical mapc₁of Stacks 0E1Y beingNaiveCotangent.nlExtensionBaseChangeMapof a morphism of those canonical presentations (Stacks.NaiveCotangentStalkBaseChange.stalkLegZeroLinear_baseChangeNaiveCotangentMap).
theorem jacobiZariski_sixTerm_exact_canonical
(φ : (canonicalGenerators R S).toExtension.Hom (canonicalGenerators R T).toExtension)
(ψ : (canonicalGenerators R T).toExtension.Hom (canonicalGenerators S T).toExtension) :
Exact (nlExtensionBaseChangeMap (T := T) φ).onH₁ (nlExtensionOverMap ψ).onH₁ ∧
Exact (nlExtensionOverMap ψ).onH₁
(jacobiZariskiConnecting (canonicalGenerators S T) (canonicalGenerators R S)) ∧
Exact (jacobiZariskiConnecting (canonicalGenerators S T) (canonicalGenerators R S))
(nlExtensionBaseChangeMap (T := T) φ).onH₀ ∧
Exact (nlExtensionBaseChangeMap (T := T) φ).onH₀ (nlExtensionOverMap ψ).onH₀ ∧
Surjective (nlExtensionOverMap ψ).onH₀
NaiveCotangent.jacobiZariskiConnecting, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/JacobiZariskiSixTerm.lean, line 146. The attribute's comment: “The connecting map of the six-term sequence, for the naive cotangent complexes of three presentations as in the source's own proof.”.
The Jacobi-Zariski connecting map (Stacks 00S2): for ring maps
A → B → Cand presentationsα : A[x_s] → B,β : B[y_t] → Cwith induced presentationγ : A[x_s, y_t] → C, the snake-lemma mapδ : H₁(NL(β)) ⟶ H₀(NL(α) ⊗_B C), that isH₁(L_{C/B}) → C ⊗_B Ω_{B/A}.
public noncomputable def jacobiZariskiConnecting (Q : Generators S T ι) (P : Generators R S σ) :
H₁ (NL Q) →ₗ[T] H₀ (nlBaseChange T P)
NaiveCotangent.jacobiZariski_sixTerm_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/JacobiZariskiSixTerm.lean, line 167. The attribute's comment: “The six-term exact sequence for the naive cotangent complex, over the three presentations of the source's own proof; Stacks.KaehlerDifferential.JacobiZariski records only exactness at H₁(L_{C/A}), and for the full cotangent complex.”.
The Jacobi-Zariski six-term exact sequence (Stacks 00S2) for the naive cotangent complex. Let
A → B → Cbe ring maps, letα : A[x_s] → Bandβ : B[y_t] → Cbe presentations and letγ : A[x_s, y_t] → Cbe the induced presentation ofCoverA. Thenis exact at each of its five interior nodes,H₁(NL(α) ⊗_B C) → H₁(NL(γ)) → H₁(NL(β)) --δ--> H₀(NL(α) ⊗_B C) → H₀(NL(γ)) → H₀(NL(β)) → 0δbeingNaiveCotangent.jacobiZariskiConnecting. In the notation of the source this isH₁(NL_{B/A} ⊗_B C) → H₁(L_{C/A}) → H₁(L_{C/B}) → C ⊗_B Ω_{B/A} → Ω_{C/A} → Ω_{C/B} → 0.
public theorem jacobiZariski_sixTerm_exact (Q : Generators S T ι) (P : Generators R S σ) :
Exact (nlToComp Q P).onH₁ (nlOfComp Q P).onH₁ ∧
Exact (nlOfComp Q P).onH₁ (jacobiZariskiConnecting Q P) ∧
Exact (jacobiZariskiConnecting Q P) (nlToComp Q P).onH₀ ∧
Exact (nlToComp Q P).onH₀ (nlOfComp Q P).onH₀ ∧
Surjective (nlOfComp Q P).onH₀
NaiveCotangent.exists_jacobiZariski_sixTerm_exact, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/JacobiZariskiSixTerm.lean, line 190. The attribute's comment: “The existential form of the six-term sequence for the naive cotangent complex.”.
Stacks 00S2 in the form in which the source states it: there exists a six-term exact sequence
ofH₁(NL(α) ⊗_B C) → H₁(NL(γ)) → H₁(NL(β)) → H₀(NL(α) ⊗_B C) → H₀(NL(γ)) → H₀(NL(β)) → 0C-modules, for ring mapsA → B → C, presentationsα : A[x_s] → B,β : B[y_t] → Cand the induced presentationγ : A[x_s, y_t] → C.
public theorem exists_jacobiZariski_sixTerm_exact (Q : Generators S T ι)
(P : Generators R S σ) :
∃ δ : H₁ (NL Q) →ₗ[T] H₀ (nlBaseChange T P),
Exact (nlToComp Q P).onH₁ (nlOfComp Q P).onH₁ ∧
Exact (nlOfComp Q P).onH₁ δ ∧
Exact δ (nlToComp Q P).onH₀ ∧
Exact (nlToComp Q P).onH₀ (nlOfComp Q P).onH₀ ∧
Surjective (nlOfComp Q P).onH₀
Tag 07VC, a remark
Tag 07VC in the Stacks Project.
NaiveCotangent.towerChainMap_homotopic_zero, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/CompositionNullHomotopy.lean, line 216. The attribute's comment: “the composition is homotopy equivalent to zero”.
Stacks 07VC. The composition
NL_{B/A} ⟶ NL_{C/A} ⟶ NL_{C/B}of the two functoriality maps of the naive cotangent complex is homotopic to the zero chain map.
public theorem towerChainMap_homotopic_zero :
Homotopic (towerChainMap A B C)
(ChainMap.zero (nlRestrict B (Generators.self A B))
(nlRestrict B (Generators.self B C)))
NaiveCotangent.towerNullHomotopy_spec, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/CompositionNullHomotopy.lean, line 227. The attribute's comment: “the displayed map is an explicit homotopy”.
The two homotopy relations satisfied by
towerNullHomotopy: it is a null homotopy of the compositionNL_{B/A} ⟶ NL_{C/A} ⟶ NL_{C/B}.
public theorem towerNullHomotopy_spec :
(towerChainMap A B C).f₁ = towerNullHomotopy A B C ∘ₗ
(nlRestrict B (Generators.self A B)).d ∧
(towerChainMap A B C).f₀ =
(nlRestrict B (Generators.self B C)).d ∘ₗ towerNullHomotopy A B C
NaiveCotangent.towerNullHomotopy_cotangentSpaceBasis, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/CompositionNullHomotopy.lean, line 259. The attribute's comment: “the value of the homotopy on the basis element d[b]”.
Stacks 07VC. The homotopy sends the basis element
d[b]ofΩ_{A[B]/A} ⊗_{A[B]} Bto the class of[φ(b)] - binJ/J².
public theorem towerNullHomotopy_cotangentSpaceBasis (b : B) :
towerNullHomotopy A B C ((Generators.self A B).cotangentSpaceBasis b) =
Extension.Cotangent.mk
⟨X (algebraMap B C b) - MvPolynomial.C b, X_sub_C_mem_ker B C b⟩
Tag 07BP, a lemma
Tag 07BP in the Stacks Project.
h1Cotangent_equiv_cotangent_of_surjective, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/H1.lean, line 116.
For a surjective ring map
A → Bwith kernelI := RingHom.ker (algebraMap A B), theA-linear isomorphismAlgebra.H1Cotangent A B ≃ₗ[A] I.Cotangent.
noncomputable def h1Cotangent_equiv_cotangent_of_surjective
(h : Function.Surjective (algebraMap A B)) :
Algebra.H1Cotangent A B ≃ₗ[A] (RingHom.ker (algebraMap A B)).Cotangent
Tag 065V, a lemma
Tag 065V in the Stacks Project.
exact_mapCotangent_kerCotangentToTensor_and_surjective, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Conormal.lean, line 697. References: EGA 0 (20.5.12), “(i), special case”.
Stacks Tag 065V (Lemma 10.134.7). Let
A → B → Cbe ring maps withA → Csurjective, and setI = ker (A → C)andJ = ker (B → C). Then the sequenceI/I² → J/J² → Ω[B⁄A] ⊗_B B/J → 0is exact: the image ofIdeal.mapCotangentis the kernel ofKaehlerDifferential.kerCotangentToTensor, and the latter is surjective.
theorem exact_mapCotangent_kerCotangentToTensor_and_surjective
(A B C : Type*) [CommRing A] [CommRing B] [CommRing C]
[Algebra A B] [Algebra B C] [Algebra A C] [IsScalarTower A B C]
(hAC : Function.Surjective (algebraMap A C))
(hle : RingHom.ker (algebraMap A C) ≤
Ideal.comap (Algebra.ofId A B) (RingHom.ker (algebraMap B C))) :
Function.Exact
(Ideal.mapCotangent (RingHom.ker (algebraMap A C)) (RingHom.ker (algebraMap B C))
(Algebra.ofId A B) hle)
(KaehlerDifferential.kerCotangentToTensor A B C) ∧
Function.Surjective (KaehlerDifferential.kerCotangentToTensor A B C)
Tag 00S4, a lemma
Tag 00S4 in the Stacks Project.
FlatBaseChangeNL.statement2_complex_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/BaseChange.lean, line 763. References: EGA IV (16.2.2), “(iii)”; EGA IV (16.2.4), “affine case”; SGA 3 I (6.8.5), “special case”; SGA 3 III (0.14), “partial”.
Statement 2, part (b): the canonical comparison is an isomorphism.
If
R → R'is flat, the canonical comparisonNL(α) ⊗_S S' → NL(α')is an isomorphism of two-term complexes ofS' = R' ⊗_R S-modules, with degree-1componentcotComparison1(bijective by flatness) and degree-0componentcotComparison0(always bijective).
theorem statement2_complex_iso [Module.Flat R R'] (P : Algebra.Extension R S) :
∃ iso : TwoComplexEquiv (cotDiffBaseChangeS R' P)
(P.baseChange (T := R')).cotangentComplex,
(iso.e1 : _ →ₗ[R' ⊗[R] S] _) = cotComparison1 R' P ∧
(iso.e0 : _ →ₗ[R' ⊗[R] S] _) = cotComparison0 R' P
FlatBaseChangeNL.statement3_homotopy_equiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/BaseChange.lean, line 1470.
Statement 3: under flatness of
R → R', the canonical comparison chain map of naive cotangent complexesNL_{S/R} ⊗_S S' → NL_{S'/R'}(withNL_{S'/R'}the canonical presentation ofS' = R' ⊗_R SoverR') is a homotopy equivalence of two-term complexes ofS'-modules; in particular a quasi-isomorphism.The asserted homotopy equivalence has as its forward chain map the canonical comparison, i.e. the
ChainMapwhose degree-1/0components are the canonical comparisonsstatement3_f1/statement3_f0(theS'-linear lifts ofCotangent.map (canHom),CotangentSpace.map (canHom)).
theorem statement3_homotopy_equiv [Module.Flat R R'] :
∃ he : HtpyEquiv (nlCanDiffBaseChange R')
((Algebra.Generators.self R' (R' ⊗[R] S)).toExtension).cotangentComplex,
he.toFun.f1 = statement3_f1 R' ∧ he.toFun.f0 = statement3_f0 R'
Tag 07BQ, a lemma
Tag 07BQ in the Stacks Project.
RingMapSystemUnbundled.isIso_colim_NL, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Colimit.lean, line 1697.
Stacks Tag 07BQ, Lemma 10.134.9 (packaged). The canonical comparison morphism
colim_λ NL_{S_λ/R_λ} → NL_{S/R}is an isomorphism of two-term complexes: it is a bijection in each homological degree (degree 1 and degree 0) and the two degreewise comparison maps commute with the differentials (the colimit differentialcolimDifferentialand the differentialNL_{S/R}.cotangentComplex). This bundles the three theorems above.
theorem isIso_colim_NL [IsDirected Λ (· ≤ ·)] [Nonempty Λ] :
Function.Bijective sys.comparisonCotangent ∧
Function.Bijective sys.comparisonCotangentSpace ∧
(∀ x : sys.colimCotangent,
sys.comparisonCotangentSpace (sys.colimDifferential x)
= sys.NLinf.cotangentComplex (sys.comparisonCotangent x))
Tag 07BR, a lemma
Tag 07BR in the Stacks Project.
kaehlerDifferential_subsingleton_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 853.
H₀(NL_{S⁻¹A/A}) = Ω_{S⁻¹A/A} = 0: the module of Kähler differentials of a localizationS⁻¹AoverAvanishes.
theorem kaehlerDifferential_subsingleton_of_isLocalization
[IsLocalization S B] :
Subsingleton (Ω[B⁄A])
h1Cotangent_subsingleton_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 862.
H₁(NL_{S⁻¹A/A}) = 0: the first naive cotangent homology of a localizationS⁻¹AoverAvanishes.
theorem h1Cotangent_subsingleton_of_isLocalization
[IsLocalization S B] :
Subsingleton (Algebra.H1Cotangent A B)
Tag 07BS, a lemma
Tag 07BS in the Stacks Project.
naiveCotangentComplex_localization_base_homotopyEquiv, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 1161.
With
Aₘa localization ofAat the multiplicative subsetMand a ring mapAₘ → B, the canonical chain mapφ = (φ₁, φ₀) : NL_{B/A} → NL_{B/Aₘ}, given byAlgebra.Extension.Cotangent.map handAlgebra.Extension.CotangentSpace.map hfor the morphism of extensionshinduced by the towerA → Aₘ → B, is a homotopy equivalence of the two term naive cotangent complexes ofB-modules.
theorem naiveCotangentComplex_localization_base_homotopyEquiv
(A : Type*) (Aₘ : Type*) (B : Type*)
[CommRing A] [CommRing Aₘ] [CommRing B]
[Algebra A Aₘ] [Algebra A B] [Algebra Aₘ B]
[IsScalarTower A Aₘ B]
(M : Submonoid A) [IsLocalization M Aₘ] :
let P := (Generators.self A B).toExtension
let Q := (Generators.self Aₘ B).toExtension
let h : P.Hom Q :=
((Generators.self A B).defaultHom (Generators.self Aₘ B)).toExtensionHom
let φ₁ := Algebra.Extension.Cotangent.map h
let φ₀ := Algebra.Extension.CotangentSpace.map h
∃ (ψ₁ : Q.Cotangent →ₗ[B] P.Cotangent)
(ψ₀ : Q.CotangentSpace →ₗ[B] P.CotangentSpace)
(s : P.CotangentSpace →ₗ[B] P.Cotangent)
(t : Q.CotangentSpace →ₗ[B] Q.Cotangent),
Q.cotangentComplex ∘ₗ φ₁ = φ₀ ∘ₗ P.cotangentComplex ∧
P.cotangentComplex ∘ₗ ψ₁ = ψ₀ ∘ₗ Q.cotangentComplex ∧
ψ₁ ∘ₗ φ₁ - LinearMap.id = s ∘ₗ P.cotangentComplex ∧
ψ₀ ∘ₗ φ₀ - LinearMap.id = P.cotangentComplex ∘ₗ s ∧
φ₁ ∘ₗ ψ₁ - LinearMap.id = t ∘ₗ Q.cotangentComplex ∧
φ₀ ∘ₗ ψ₀ - LinearMap.id = Q.cotangentComplex ∘ₗ t
NaiveCotangent.isQuasiIso_nlExtensionOverMap_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/LocalizationBaseAndTarget.lean, line 479. The attribute's comment: “the canonical map NL_{T/R} ⟶ NL_{T/R'} is bijective in both degrees, hence a quasi-isomorphism; the homotopy equivalence itself is naiveCotangentComplex_localization_base_homotopyEquiv.”.
Localizing the base: for a localization
R' = N⁻¹RofRat a multiplicative subsetN ⊆ Rand a ring mapR' → T, the canonical map of two-term complexesNL_{T/R} ⟶ NL_{T/R'}is bijective in both degrees, hence a quasi-isomorphism.
theorem isQuasiIso_nlExtensionOverMap_of_isLocalization (N : Submonoid R) [IsLocalization N R'] :
IsQuasiIso (nlExtensionOverMap
((Generators.self R T).defaultHom (Generators.self R' T)).toExtensionHom)
Tag 08JZ, a lemma
Tag 08JZ in the Stacks Project.
Algebra.Generators.exists_cotangentComplex_comp_localizationAway_eq_prodMap, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 521. The attribute's comment: “Item (3), which contains items (1) and (2): splittings of both rows of the source's diagram that are simultaneously compatible with the differentials. Mathlib has each row separately, but not compatibly. See the module docstring.”.
The naive cotangent complex commutes with localization at an element: let
A → Bbe a ring map, letα : P = A[x_i, i ∈ ι] → Bbe a presentation with kernelI, letg ∈ Band letB_gbe a localization ofBaway fromg. Writeβ : P[x] → B_g,x ↦ 1/gfor the induced presentation ofB_goverA, with kernelJ, andB[x] → B_gfor the canonical presentation ofB_goverB. Then there are splittingsJ/J² ≅ (I/I²) ⊗_B B_g ⊕ (gx-1)/(gx-1)²andΩ_{P[x]/A} ⊗ B_g ≅ (Ω_{P/A} ⊗_P B) ⊗_B B_g ⊕ Ω_{B[x]/B} ⊗ B_gof the two canonical exact rows which are compatible with the differentials, i.e. which identify the two term complexNL(β)with the direct sum ofNL(α) ⊗_B B_gand of the complexNL(B[x] → B_g) = (B_g --g--> B_g).
public theorem exists_cotangentComplex_comp_localizationAway_eq_prodMap
(g : S) [IsLocalization.Away g T] (P : Generators R S ι) :
∃ (e : ((localizationAway T g).comp P).toExtension.Cotangent ≃ₗ[T]
T ⊗[S] P.toExtension.Cotangent × (localizationAway T g).toExtension.Cotangent)
(e' : ((localizationAway T g).comp P).toExtension.CotangentSpace ≃ₗ[T]
T ⊗[S] P.toExtension.CotangentSpace ×
(localizationAway T g).toExtension.CotangentSpace),
e'.toLinearMap ∘ₗ ((localizationAway T g).comp P).toExtension.cotangentComplex =
(P.toExtension.cotangentComplex.baseChange T).prodMap
(localizationAway T g).toExtension.cotangentComplex ∘ₗ e.toLinearMap ∧
e.symm.toLinearMap ∘ₗ LinearMap.inl T _ _ =
(Extension.Cotangent.map
((localizationAway T g).toComp P).toExtensionHom).liftBaseChange T ∧
LinearMap.snd T _ _ ∘ₗ e.toLinearMap =
Extension.Cotangent.map ((localizationAway T g).ofComp P).toExtensionHom ∧
e'.symm.toLinearMap ∘ₗ LinearMap.inl T _ _ =
(Extension.CotangentSpace.map
((localizationAway T g).toComp P).toExtensionHom).liftBaseChange T ∧
LinearMap.snd T _ _ ∘ₗ e'.toLinearMap =
Extension.CotangentSpace.map ((localizationAway T g).ofComp P).toExtensionHom
Tag 00S7, a lemma
Tag 00S7 in the Stacks Project.
Algebra.Extension.Cotangent.bijOn_ker_liftBaseChange_map_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 180. The attribute's comment: “The H₁ half at the level of the complexes, where the homology is ker (d ⊗ T) rather than T ⊗ ker d. The H₀ half is KaehlerDifferential.isLocalizedModule_map and the H¹(L)-level H₁ half is Algebra.H1Cotangent.isLocalizedModule. See the module docstring.”.
The naive cotangent complex commutes with localization, on
H₁: letA → Bbe a ring map, letM ⊆ Bbe a multiplicative subset with localizationM⁻¹B, and letα,βbe presentations ofBand ofM⁻¹BoverAwith a compatible mapfbetween them. Then the mapM⁻¹B ⊗_B I/I² → J/J²induced byfcarries the kernel of the base changed differential ofNL(α)bijectively onto the kernel of the differential ofNL(β).
public theorem Algebra.Extension.Cotangent.bijOn_ker_liftBaseChange_map_of_isLocalization
{R S T : Type*} [CommRing R] [CommRing S] [CommRing T]
[Algebra R S] [Algebra R T] [Algebra S T] [IsScalarTower R S T]
(M : Submonoid S) [IsLocalization M T] {ι κ : Type*} {P : Algebra.Generators R S ι}
{Q : Algebra.Generators R T κ} (f : P.toExtension.Hom Q.toExtension) :
Set.BijOn ((Algebra.Extension.Cotangent.map f).liftBaseChange T)
(LinearMap.ker (P.toExtension.cotangentComplex.baseChange T))
(LinearMap.ker Q.toExtension.cotangentComplex)
NaiveCotangent.isQuasiIso_nlExtensionBaseChangeMap_of_isLocalization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/LocalizationBaseAndTarget.lean, line 446. The attribute's comment: “the whole lemma at the level of the complexes: the canonical map NL_{S/R} ⊗_S T ⟶ NL_{T/R} is a quasi-isomorphism. The H₁ half alone is Algebra.Extension.Cotangent.bijOn_ker_liftBaseChange_map_of_isLocalization.”.
Localizing the target: for a localization
T = M⁻¹SofSat a multiplicative subsetM ⊆ S, the canonical map of two-term complexesNL_{S/R} ⊗_S T ⟶ NL_{T/R}is a quasi-isomorphism.
theorem isQuasiIso_nlExtensionBaseChangeMap_of_isLocalization (M : Submonoid S) [IsLocalization M T]
(h : (Generators.self R S).toExtension.Hom (Generators.self R T).toExtension) :
IsQuasiIso (nlExtensionBaseChangeMap (T := T) h)
Tag 00S3, a lemma
Tag 00S3 in the Stacks Project.
main_theorem_00s3, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/Algebra/TwoTermComplex.lean, line 155.
Stacks Tag 00S3 (Lemma 10.134.14). Let
Rbe a ring and letA_• : A_1 →[d_A] A_0andB_• : B_1 →[d_B] B_0be two term complexes ofR-modules. Suppose there are morphisms of complexesφ : A_• → B_•andψ : B_• → A_•such thatφ ∘ ψis homotopic toid_{B_•}andψ ∘ φis homotopic toid_{A_•}. Then there is an isomorphism ofR-modulesA_1 ⊕ B_0 ≅ B_1 ⊕ A_0.
theorem main_theorem_00s3 (A B : TwoComplex R)
(φ : ComplexHom A B) (ψ : ComplexHom B A)
(hB : Homotopic (φ.comp ψ) (ComplexHom.id B))
(hA : Homotopic (ψ.comp φ) (ComplexHom.id A)) :
Nonempty ((A.A1 × B.A0) ≃ₗ[R] (B.A1 × A.A0))
Tag 00S5, a lemma
Tag 00S5 in the Stacks Project.
NaiveCotangent.Conormal.conormal_stable_iso, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Conormal.lean, line 269.
Stacks Tag 00S5 (Lemma 10.134.15). Let
R → Sbe a ring map of finite type, and letP : Algebra.Generators R S (Fin n)(with kernelI) andQ : Algebra.Generators R S (Fin m)(with kernelJ) be two finite-type presentations ofSoverR. Then there is an isomorphism ofS-modulesI/I² ⊕ S^{⊕m} ≅ J/J² ⊕ S^{⊕n}.
theorem conormal_stable_iso [Algebra.FiniteType R S]
{n m : ℕ} (P : Algebra.Generators R S (Fin n)) (Q : Algebra.Generators R S (Fin m)) :
Nonempty ((Conormal P × FreeModule S m) ≃ₗ[S] (Conormal Q × FreeModule S n))
Tag 00S6, a lemma
Tag 00S6 in the Stacks Project.
Algebra.Generators.nonempty_cotangent_baseChange_prod_linearEquiv_of_isLocalizationAway, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/NaiveCotangent/Localization.lean, line 815. The attribute's comment: “The isomorphism is non-canonical: Nonempty of a linear equivalence is the whole statement. See the module docstring.”.
The conormal module up to free summands, after localizing at an element: let
R → Sbe a ring map, letg ∈ Sand letS_gbe a localization ofSaway fromg. Letα : R[x₁, …, xₙ] → Sbe a presentation ofSoverRwith kernelIand letβ : R[y₁, …, y_m] → S_gbe a presentation ofS_goverRwith kernelJ. Then there is an isomorphism ofS_g-modules(I/I²)_g ⊕ S_g^{⊕m} ≅ J/J² ⊕ S_g^{⊕n}.
public theorem nonempty_cotangent_baseChange_prod_linearEquiv_of_isLocalizationAway
(g : S) [IsLocalization.Away g T] {n m : ℕ}
(P : Generators R S (Fin n)) (Q : Generators R T (Fin m)) :
Nonempty (((T ⊗[S] P.toExtension.Cotangent) × (Fin m → T)) ≃ₗ[T]
(Q.toExtension.Cotangent × (Fin n → T)))
Sources
Section10.135 Local complete intersections#
Section 10.135 of the Stacks Project, Tag 00S8. 12 tags here are carried by 15 declarations of the repository (all in StacksFrontier) and 2 registered declarations, quoted below from AxiomMath/Stacks at commit 5ed82d14.
Tag 00S9, a definition
Tag 00S9 in the Stacks Project.
IsGlobalCompleteIntersection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Defs.lean, line 93. The attribute's comment: “(1)”.
Let
kbe a field. Ak-algebraSis a global complete intersection overkif eitherSis the zero ring (Subsingleton S), or there aren, c ≥ 0and an isomorphism ofk-algebrasS ≃ₐ[k] k[x_1, …, x_n]/(f_1, …, f_c)withdim S = n - c.Here
k[x_1, …, x_n]isMvPolynomial (Fin n) k, the relations(f_1, …, f_c)are the idealIdeal.span (Set.range f)forf : Fin c → MvPolynomial (Fin n) k, and the dimension condition isc ≤ ntogether withringKrullDim S = ((n - c : ℕ) : WithBot ℕ∞).
public def IsGlobalCompleteIntersection (k : Type*) [Field k] (S : Type*) [CommRing S]
[Algebra k S] : Prop
IsLocalCompleteIntersection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Defs.lean, line 107. The attribute's comment: “(2)”. References: EGA IV (19.3.6); SGA 6 0 (3.2), “special case”.
Let
kbe a field. Ak-algebraSis a local complete intersection overkif there is a sets ⊆ Swhose standard opensD(g)coverSpec S, and such thatS_g = Localization.Away gis a global complete intersection overkfor everyg ∈ s.The covering condition is recorded algebraically as
Ideal.span s = ⊤;localCompleteIntersection_cover_iffis its equivalence with⨆ g ∈ s, D(g) = ⊤.
public def IsLocalCompleteIntersection (k : Type*) [Field k] (S : Type*) [CommRing S]
[Algebra k S] : Prop
Tag 00SA, a lemma
Tag 00SA in the Stacks Project.
Declarations registered for the tag:
isGlobalCompleteIntersection_localization, declared in the repository, registered withadd_to_stacksin StacksFrontier/RingTheory/CompleteIntersection/Criteria.lean, line 176 (StacksFrontier): “part (1): a localization of a global complete intersection over a field is a global complete intersection over that field”.isLocalCompleteIntersection_localization, declared in the repository, registered withadd_to_stacksin StacksFrontier/RingTheory/CompleteIntersection/Criteria.lean, line 179 (StacksFrontier): “part (2): a localization of a local complete intersection over a field is a local complete intersection over that field”.
Tag 00SB, a lemma
Tag 00SB in the Stacks Project.
IsCompleteIntersection.isMaximalCohenMacaulay, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Local.lean, line 232. The attribute's comment: “The pointwise half of the lemma: Cohen-Macaulayness of a single complete intersection local ring over k, stated as Module.IsMaximalCohenMacaulay over itself as in 00ND.”. References: EGA 0 (17.1.3), “Cohen–Macaulay”.
A complete intersection over a field is a Cohen–Macaulay local ring. Writing the ring as
R/(f_1, …, f_c)withRregular local andf_1, …, f_ca regular sequence,Ris Cohen–Macaulay (Lemma 00NQ) and the quotient of a Cohen–Macaulay local ring by a regular sequence is again Cohen–Macaulay (Proposition 02JN).
theorem IsCompleteIntersection.isMaximalCohenMacaulay {k : Type*} [Field k] {A : Type*}
[CommRing A] [IsNoetherianRing A] [IsLocalRing A] [Algebra k A]
(h : IsCompleteIntersection k A) : Module.IsMaximalCohenMacaulay A A
IsLocalCompleteIntersection.isMaximalCohenMacaulay_localization, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Local.lean, line 252. The attribute's comment: “Cohen-Macaulayness of the Noetherian ring S (Definition 00NC) is spelled out as a condition on its localizations at primes, each being Module.IsMaximalCohenMacaulay over itself, as in 00ND. The finite type hypothesis is omitted, being a consequence of IsLocalCompleteIntersection. See the module docstring.”.
A local complete intersection over a field is Cohen–Macaulay. Let
kbe a field and letSbe a local complete intersection overk. Then every local ringS_𝔮ofSat a prime is a Cohen–Macaulay local ring,depth(S_𝔮) = dim(S_𝔮).
theorem IsLocalCompleteIntersection.isMaximalCohenMacaulay_localization
{k : Type*} [Field k] {S : Type*} [CommRing S] [Algebra k S]
(h : IsLocalCompleteIntersection k S) (q : Ideal S) [q.IsPrime] :
Module.IsMaximalCohenMacaulay (Localization.AtPrime q) (Localization.AtPrime q)
Tag 00SC, a lemma
Tag 00SC in the Stacks Project.
Algebra.Generators.tfae_isGlobalCompleteIntersection_away, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/AtPrime/Criterion.lean, line 495. The attribute's comment: “Items (1)-(5) are the five entries of the List.TFAE, in order. The source's c, defined there as height 𝔮' - height 𝔮, is the hypothesis height 𝔮' = height 𝔮 + c, the additive form (see the module docstring); the source's parenthetical dim_𝔮(S) = n - c is a consequence of it, by Stacks 00P2. Items (3) and (4) are stated for the conormal module of I_A = I_{𝔮'} over A/I_A rather than for (I/I²)_𝔮 over S_𝔮; the two agree under the canonical identification of A/I_A with S_𝔮, localization being flat. The closing assertion of the lemma is the second conjunct of Algebra.Generators.spanFinrank_ker_map_le_iff_exists_isRegular, which carries this tag as well.”.
The complete intersection criterion at a prime. Let
kbe a field, letS = k[x_i]/Ibe a presentedk-algebra with finitely many variables, letqbe a prime ofS, letq'be the corresponding prime ofk[x_i]and letcbe the codimension,height q' = height q + c. WriteA = k[x_i]_{q'}andI_A = I_{q'}. Then the following are equivalent:
- there is a
g ∈ S,g ∉ q, such thatS_gis a global complete intersection overk;- the ideal
I_Acan be generated bycelements;- the conormal module
I_A/I_A²can be generated bycelements overA/I_A;- the conormal module
I_A/I_A²is a freeA/I_A-module of rankc;- the ideal
I_Acan be generated by a regular sequence in the regular local ringA.Items (3) and (4) are stated for the conormal module of
I_AoverA/I_A, which agrees with(I/I²)_qoverS_q:A/I_Ais the localizationS_q(this isringKrullDim_quotient_map_ker_eq_height), andI_A/I_A²is(I/I²)_q, localization being flat.The closing assertion of the lemma, that any
celements ofI_AgeneratingI_A/q'I_Aform a regular sequence inA, is the second conjunct ofAlgebra.Generators.spanFinrank_ker_map_le_iff_exists_isRegular.
theorem Algebra.Generators.tfae_isGlobalCompleteIntersection_away
(k : Type u) [Field k] (S : Type v) [CommRing S] [Algebra k S]
{ι : Type w} [Finite ι] (P : Algebra.Generators k S ι)
(q : Ideal S) [q.IsPrime] (c : ℕ)
(hc : (q.comap (algebraMap P.Ring S)).height = q.height + c)
(A : Type*) [CommRing A] [Algebra P.Ring A]
[IsLocalization.AtPrime A (q.comap (algebraMap P.Ring S))] :
List.TFAE
[∃ g ∉ q, IsGlobalCompleteIntersection k (Localization.Away g),
Submodule.spanFinrank (P.ker.map (algebraMap P.Ring A)) ≤ c,
(⊤ : Submodule (A ⧸ P.ker.map (algebraMap P.Ring A))
(P.ker.map (algebraMap P.Ring A)).Cotangent).spanFinrank ≤ c,
Module.Free (A ⧸ P.ker.map (algebraMap P.Ring A))
(P.ker.map (algebraMap P.Ring A)).Cotangent ∧
Module.finrank (A ⧸ P.ker.map (algebraMap P.Ring A))
(P.ker.map (algebraMap P.Ring A)).Cotangent = c,
∃ rs : List A, IsRegular A rs ∧
Ideal.ofList rs = P.ker.map (algebraMap P.Ring A)]
Algebra.Generators.spanFinrank_ker_map_le_iff_exists_isRegular, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/AtPrime/LocalCriterion.lean, line 510. The attribute's comment: “The equivalence of items (2) and (5) is the first conjunct, and the closing assertion of the lemma — that any c elements of I_{𝔮'} generating I_{𝔮'}/𝔮'I_{𝔮'} form a regular sequence — is the second. The five equivalent conditions themselves are Algebra.Generators.tfae_isGlobalCompleteIntersection_away, which carries this tag as well; this declaration is on the covering set for the closing assertion.”.
The equivalence of items (2) and (5), together with the closing assertion.
Let
kbe a field, letS = k[x_i]/Ibe a presentedk-algebra with finitely many variables, letqbe a prime ofS, letq'be the corresponding prime ofk[x_i], and letcbe the codimension,height q' = height q + c. Then the idealI_{q'}ofA = k[x_i]_{q'}can be generated bycelements if and only if it can be generated by a regular sequence; and anycelements ofI_{q'}generatingI_{q'}/q'I_{q'}form a regular sequence.
theorem Algebra.Generators.spanFinrank_ker_map_le_iff_exists_isRegular
(k : Type u) [Field k] (S : Type v) [CommRing S] [Algebra k S]
{ι : Type w} [Finite ι] (P : Algebra.Generators k S ι)
(q : Ideal S) [q.IsPrime] (c : ℕ)
(hc : (q.comap (algebraMap P.Ring S)).height = q.height + c)
(A : Type*) [CommRing A] [Algebra P.Ring A]
[IsLocalization.AtPrime A (q.comap (algebraMap P.Ring S))] :
(Submodule.spanFinrank (P.ker.map (algebraMap P.Ring A)) ≤ c ↔
∃ rs : List A, IsRegular A rs ∧
Ideal.ofList rs = P.ker.map (algebraMap P.Ring A)) ∧
∀ rs : List A, rs.length = c →
Ideal.ofList rs ⊔ (q.comap (algebraMap P.Ring S)).map (algebraMap P.Ring A) *
P.ker.map (algebraMap P.Ring A) = P.ker.map (algebraMap P.Ring A) →
IsRegular A rs
Tag 00SD, a definition
Tag 00SD in the Stacks Project.
IsCompleteIntersectionLocalRing, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Criteria.lean, line 86.
A
k-algebraSis a complete intersection overkif there exist ak-algebraRand a listf = f₁, …, f_cof elements ofRsuch that
Ris a regular local ring,Ris essentially of finite type overk,- every
fᵢlies in the maximal ideal ofR,f₁, …, f_cis a regular sequence inR, andS ≅ R/(f₁, …, f_c)ask-algebras.The source states this for a local
k-algebraSessentially of finite type overk; both hypotheses are consequences here, seeIsCompleteIntersectionLocalRing.isLocalRingandIsCompleteIntersectionLocalRing.essFiniteType. The lengthcoffis unconstrained, and is forced to be the codimensiondim R - dim SbyIsCompleteIntersectionLocalRing.exists_witness.
def IsCompleteIntersectionLocalRing (k : Type u) [Field k] (S : Type v) [CommRing S]
[Algebra k S] : Prop
IsCompleteIntersection, a def in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Defs.lean, line 168. The attribute's comment: “Items (1)-(4) are the four clauses of the body, in order. The source's condition f_1, …, f_c ∈ 𝔪_R is not stated separately: over the local ring R it is equivalent, given item (3), to the nonvanishing of R/(f_1, …, f_c) that Mathlib's RingTheory.Sequence.IsRegular already carries. The source's hypotheses that S be local and essentially of finite type over k are omitted, both being consequences of the existence of R, as with the finite type hypothesis in Definition 00S9. The witness R is quantified in the universe of k. See the module docstring.”.
Let
kbe a field. Ak-algebraSis a complete intersection overkif there are a regular localk-algebraR, essentially of finite type overk, and a regular sequencef_1, …, f_cinRsuch thatS ≃ₐ[k] R/(f_1, …, f_c). The conditionf_1, …, f_c ∈ 𝔪_Ris contained inRingTheory.Sequence.IsRegular, which asks the quotientR/(f_1, …, f_c)to be nonzero.
public def IsCompleteIntersection (k : Type u) [Field k] (S : Type v) [CommRing S]
[Algebra k S] : Prop
Tag 00SE, a lemma
Tag 00SE in the Stacks Project.
IsRegularLocalRing.exists_isRegular_ker_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/RegularLocalRing/Basic.lean, line 2066. The attribute's comment: “Items (1)-(4) are the four items of the list, in the source's order. Ker(A → C) is RingHom.ker (g.comp f). Generated by dim A - dim C elements is the equality ringKrullDim C + (RingHom.ker (g.comp f)).spanFinrank = ringKrullDim A: subtraction in WithBot ℕ∞ is truncated, while the inequality ≤ always holds here by Krull's height theorem, so the equality says exactly that the minimal number of generators attains dim A - dim C. The source's hypotheses that the maps be local homomorphisms and that C be local are omitted, all three being consequences of surjectivity. See the module docstring.”.
Stacks 00SE. Let
A → B → Cbe surjective local ring homomorphisms withAandBregular local rings. Then the following are equivalent:Ker(A → C)is generated by a regular sequence;Ker(A → C)is generated bydim A - dim Celements;Ker(B → C)is generated by a regular sequence;Ker(B → C)is generated bydim B - dim Celements.Being generated by
nelements isSubmodule.spanFinrank ≤ n, stated here in the equivalent additive formdim C + spanFinrank (Ker) = dim A(respectively= dim B), since the reverse inequality is Krull's height theorem. See the module docstring.
public theorem IsRegularLocalRing.exists_isRegular_ker_tfae
{A B C : Type*} [CommRing A] [CommRing B] [CommRing C]
[IsRegularLocalRing A] [IsRegularLocalRing B] [Nontrivial C]
{f : A →+* B} {g : B →+* C} (hf : Function.Surjective f) (hg : Function.Surjective g) :
List.TFAE
[∃ rs : List A, RingTheory.Sequence.IsRegular A rs ∧
Ideal.ofList rs = RingHom.ker (g.comp f),
ringKrullDim C + (RingHom.ker (g.comp f)).spanFinrank = ringKrullDim A,
∃ rs : List B, RingTheory.Sequence.IsRegular B rs ∧ Ideal.ofList rs = RingHom.ker g,
ringKrullDim C + (RingHom.ker g).spanFinrank = ringKrullDim B]
Tag 00SF, a lemma
Tag 00SF in the Stacks Project.
IsCompleteIntersection.tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/LocalRing.lean, line 896. The attribute's comment: “Items (1)-(5) are the five items of the list, in the source's order. Essentially of finite presentation over k is Algebra.EssFiniteType k R, the two notions agreeing over a field; the source's proof states item (2) with essentially of finite type as well. Generated by dim R - dim S elements is ringKrullDim S + (RingHom.ker f).spanFinrank = ringKrullDim R, the reading of Lemma 00SE: subtraction in WithBot ℕ∞ is truncated while the inequality ≥ holds unconditionally, so the equality says the minimal number of generators attains dim R - dim S. In items (4) and (5) the isomorphism S ≅ A_𝔞 is stated abstractly, as IsLocalization.AtPrime S a for an A-algebra structure on S compatible with k. Item (2) quantifies over rings in Type (max u w) for a universe parameter w: that asserts it in every universe and still lets it be instantiated at the localization k[x_1, …, x_n]_𝔮 of the source's proof of (2) ⇒ (1), which a free Type w would not. The existential items (3)-(5) put their witnesses in the universe of k, where the source's are. The hypothesis that the surjections be local ring homomorphisms is omitted, being a consequence of surjectivity. See the module docstring.”. References: EGA IV (19.3.2), “ess. f.t. over a field”.
Let
kbe a field and letSbe a localk-algebra essentially of finite type overk. The following are equivalent:Sis a complete intersection overk; for every surjectionf : R →ₐ[k] SwithRa regular localk-algebra essentially of finite type overkthe idealKer fis generated by a regular sequence; for some such surjectionKer fis generated bydim R - dim Selements;Sis a localization of a global complete intersection overkat a prime; andSis a localization of a local complete intersection overkat a prime.
Generated by dim R - dim S elementsis the additive equalitydim S + spanFinrank (Ker f) = dim R, and items (4) and (5) exhibitSas a localization by an instance rather than by an isomorphism withLocalization.AtPrime.
public theorem IsCompleteIntersection.tfae (k : Type u) [Field k] (S : Type v) [CommRing S]
[Algebra k S] [IsLocalRing S] [Algebra.EssFiniteType k S] :
List.TFAE
[IsCompleteIntersection k S,
∀ (R : Type (max u w)) (_ : CommRing R) (_ : Algebra k R) (_ : IsRegularLocalRing R)
(_ : Algebra.EssFiniteType k R) (f : R →ₐ[k] S),
Function.Surjective f →
∃ rs : List R, RingTheory.Sequence.IsRegular R rs ∧ Ideal.ofList rs = RingHom.ker f,
∃ (R : Type u) (_ : CommRing R) (_ : Algebra k R) (_ : IsRegularLocalRing R) (_ :
Algebra.EssFiniteType k R) (f : R →ₐ[k] S),
Function.Surjective f ∧ ringKrullDim S + (RingHom.ker f).spanFinrank = ringKrullDim R,
∃ (A : Type u) (_ : CommRing A) (_ : Algebra k A) (_ : Algebra A S) (_ :
IsScalarTower k A S) (a : Ideal A) (_ : a.IsPrime),
IsGlobalCompleteIntersection k A ∧ IsLocalization.AtPrime S a,
∃ (A : Type u) (_ : CommRing A) (_ : Algebra k A) (_ : Algebra A S) (_ :
IsScalarTower k A S) (a : Ideal A) (_ : a.IsPrime),
IsLocalCompleteIntersection k A ∧ IsLocalization.AtPrime S a]
Tag 00SG, a lemma
Tag 00SG in the Stacks Project.
IsCompleteIntersection.localization_atPrime_tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/LocalRing.lean, line 559. The attribute's comment: “Item (1) is IsCompleteIntersection k Sq for an abstract localization Sq of S at q, items (2) and (3) use Localization.Away g as Definition 00S9 does, and item (4) is a universally quantified statement over presentations Algebra.Generators k S ι with ι finite, transcribing condition (5) of Lemma 00SC — the only one of its conditions (1)-(5) that mentions neither the codimension c nor the conormal module, and interchangeable with the others by that lemma. See the module docstring.”. References: EGA IV (19.3.2), “special case”.
Let
kbe a field, letSbe a finite typek-algebra and letqbe a prime ofS. Then: the local ringS_qis a complete intersection overk;S_gis a local complete intersection overkfor someg ∉ q;S_gis a global complete intersection overkfor someg ∉ q; and, for every presentationS = k[x_i]/Iin finitely many variables, the idealI_{q'}ofk[x_i]_{q'}is generated by a regular sequence — are all equivalent.
public theorem IsCompleteIntersection.localization_atPrime_tfae (k : Type u) [Field k] (S : Type v)
[CommRing S] [Algebra k S] [Algebra.FiniteType k S] (q : Ideal S) [q.IsPrime] (Sq : Type*)
[CommRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq q] [Algebra k Sq]
[IsScalarTower k S Sq] :
List.TFAE
[IsCompleteIntersection k Sq, ∃ g ∉ q, IsLocalCompleteIntersection k (Localization.Away g),
∃ g ∉ q, IsGlobalCompleteIntersection k (Localization.Away g),
∀ (ι : Type w) [Finite ι] (P : Algebra.Generators k S ι) (A : Type (max u w)) [CommRing A]
[Algebra P.Ring A] [IsLocalization.AtPrime A (q.comap (algebraMap P.Ring S))],
∃ rs : List A,
RingTheory.Sequence.IsRegular A rs ∧
Ideal.ofList rs = P.ker.map (algebraMap P.Ring A)]
Tag 00SH, a lemma
Tag 00SH in the Stacks Project.
IsLocalCompleteIntersection.tfae, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/LocalRing.lean, line 703. The attribute's comment: “Item (1) is IsLocalCompleteIntersection k S (Definition 00S9 (2)), and items (2) and (3) say that IsCompleteIntersection k Sq (Definition 00SD) holds for every localization of S at a prime, resp. at a maximal ideal, quantified over abstract localizations Sq in the universe of S with the k-algebra structure induced from S — the hypothesis block of item (1) of Lemma 00SG. The source's finite type hypothesis is kept: items (2) and (3) do not imply it, as ℚ(x) over ℚ shows. The source's appeal to quasi-compactness of Spec S is absent, IsLocalCompleteIntersection asking for a covering by an arbitrary set of elements generating the unit ideal. See the module docstring.”.
Let
kbe a field and letSbe a finite typek-algebra. Then:Sis a local complete intersection overk; every local ring ofSis a complete intersection overk; and every localization ofSat a maximal ideal is a complete intersection overk— are all equivalent. The local rings in the last two items are abstract localizations ofS, carrying thek-algebra structure induced fromS.
public theorem IsLocalCompleteIntersection.tfae (k : Type u) [Field k] (S : Type v) [CommRing S]
[Algebra k S] [Algebra.FiniteType k S] :
List.TFAE
[IsLocalCompleteIntersection k S,
∀ (q : Ideal S) [q.IsPrime] (Sq : Type v) [CommRing Sq] [Algebra S Sq]
[IsLocalization.AtPrime Sq q] [Algebra k Sq] [IsScalarTower k S Sq],
IsCompleteIntersection k Sq,
∀ (m : Ideal S) [m.IsMaximal] (Sm : Type v) [CommRing Sm] [Algebra S Sm]
[IsLocalization.AtPrime Sm m] [Algebra k Sm] [IsScalarTower k S Sm],
IsCompleteIntersection k Sm]
Tag 00SI, a lemma
Tag 00SI in the Stacks Project.
Algebra.IsPushout.isCompleteIntersection_localization_atPrime_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/BaseChange.lean, line 360. The attribute's comment: “The base change S' = K ⊗_k S is an arbitrary pushout square Algebra.IsPushout k K S S', the shape of the sibling 00SJ; the source's literal form satisfies it. The source's corresponding prime q is the contraction of q', spelled Ideal.LiesOver, and the two local rings are abstract localizations at q, resp. q', with the k-, resp. K-algebra structure induced from S, resp. S', as in item (1) of Lemma 00SG. A complete intersection over a field (Definition 00SD) is IsCompleteIntersection. See the module docstring.”. References: EGA IV (19.3.4), “affine case”.
Let
K/kbe a field extension, letSbe a finite typek-algebra and letS'be the base change ofSalongk → K, soS' = K ⊗_k S. Letq'be a prime ofS'and letqbe the prime ofSit lies over. Then the local ringS'_{q'}is a complete intersection overKif and only if the local ringS_qis a complete intersection overk.
public theorem Algebra.IsPushout.isCompleteIntersection_localization_atPrime_iff
(k : Type*) [Field k] (K : Type*) [Field K] [Algebra k K]
(S : Type*) [CommRing S] [Algebra k S] [Algebra.FiniteType k S]
(S' : Type*) [CommRing S'] [Algebra k S'] [Algebra K S'] [Algebra S S']
[IsScalarTower k K S'] [IsScalarTower k S S'] [Algebra.IsPushout k K S S']
(q : Ideal S) [q.IsPrime] (q' : Ideal S') [q'.IsPrime] [q'.LiesOver q]
(Sq : Type*) [CommRing Sq] [Algebra S Sq] [IsLocalization.AtPrime Sq q]
[Algebra k Sq] [IsScalarTower k S Sq]
(S'q' : Type*) [CommRing S'q'] [Algebra S' S'q'] [IsLocalization.AtPrime S'q' q']
[Algebra K S'q'] [IsScalarTower K S' S'q'] :
IsCompleteIntersection K S'q' ↔ IsCompleteIntersection k Sq
Tag 00SJ, a lemma
Tag 00SJ in the Stacks Project.
Algebra.IsPushout.isLocalCompleteIntersection_iff, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/FieldExtension.lean, line 154. The attribute's comment: “The base change S' = S ⊗_k K is an arbitrary pushout square Algebra.IsPushout k K S S', the orientation of the sibling 00SM; the source's literal form is inferInstance. The source's finite type hypothesis on S is omitted: each side of the equivalence implies it. A local complete intersection over a field (Definition 00S9 (2)) is IsLocalCompleteIntersection. See the module docstring.”.
Let
k → Kbe a field extension, letSbe ak-algebra and letS'be the base change ofSalongk → K, soS' = S ⊗_k K. ThenS'is a local complete intersection overKif and only ifSis a local complete intersection overk.
public theorem Algebra.IsPushout.isLocalCompleteIntersection_iff (k K S S' : Type*) [Field k]
[Field K] [CommRing S] [CommRing S'] [Algebra k K] [Algebra k S] [Algebra k S'] [Algebra K S']
[Algebra S S'] [IsScalarTower k K S'] [IsScalarTower k S S'] [Algebra.IsPushout k K S S'] :
IsLocalCompleteIntersection K S' ↔ IsLocalCompleteIntersection k S
Tag 02JP, a lemma
Tag 02JP in the Stacks Project.
exists_isRegular_ofList_eq_ker_algebraMap_of_flat, a theorem in StacksFrontier (drafted, not yet reviewed), declared in StacksFrontier/RingTheory/CompleteIntersection/Local.lean, line 616. The attribute's comment: “The square is IsScalarTower R A B and IsScalarTower R S B with R → A and S → B surjective, I and J being their kernels, and J̄ is the image of J in S ⧸ 𝔪_R S. Stated more generally than the source: R is only assumed Cohen-Macaulay (regular local rings are, by 00NQ), and S̄ is not assumed regular, which the argument does not use. S is assumed Noetherian, as the source's appeals to 00MG and 00ME require. See the module docstring.”.
Descent of regular sequences along a flat square of local rings. Let
be a commutative square of rings in whichB ← S ↑ ↑ A ← RRis a Cohen–Macaulay Noetherian local ring,Sis a Noetherian local ring,A = R/IandB = S/Jare quotients, andR → SandA → Bare flat. IfJis generated by a regular sequence, and the imageJ̄ofJinS̄ = S/𝔪_R Sis generated by a regular sequence, thenIis generated by a regular sequence.The quotients are encoded by the surjectivity of
R → AandS → B, the idealsIandJbeing their kernels. See the module docstring.
theorem exists_isRegular_ofList_eq_ker_algebraMap_of_flat
{R S A B : Type*} [CommRing R] [CommRing S] [CommRing A] [CommRing B]
[Algebra R S] [Algebra R A] [Algebra A B] [Algebra S B] [Algebra R B]
[IsScalarTower R A B] [IsScalarTower R S B]
[IsLocalRing R] [IsNoetherianRing R] [IsLocalRing S] [IsNoetherianRing S]
[Module.Flat R S] [Module.Flat A B]
(hR : Module.IsMaximalCohenMacaulay R R)
(hA : Function.Surjective (algebraMap R A)) (hB : Function.Surjective (algebraMap S B))
(hJ : ∃ rs : List S, IsRegular S rs ∧ Ideal.ofList rs = RingHom.ker (algebraMap S B))
(hJbar : ∃ rs : List (S ⧸ (maximalIdeal R).map (algebraMap R S)),
IsRegular (S ⧸ (maximalIdeal R).map (algebraMap R S)) rs ∧
Ideal.ofList rs = (RingHom.ker (algebraMap S B)).map (Ideal.Quotient.mk _)) :
∃ rs : List R, IsRegular R rs ∧ Ideal.ofList rs = RingHom.ker (algebraMap R A)
Sources
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.