Lengths along extensions of local rings #
This file proves results relating lengths along extensions of local rings.
Main results #
IsLocalRing.length_restrictScalars: IfB/Ais an extension of local rings, and ifMis aB-module, thenℓ_A(M) = ℓ_B(M) * [κ(B) : κ(A)].IsLocalRing.length_baseChange: IfB/Ais a flat extension of local rings, and ifMis anA-module, thenℓ_B(B ⊗[A] M) = ℓ_A(M) * ℓ_B(B ⧸ m_A).
theorem CovBy.length_restrictScalars (A : Type u_1) {B : Type u_2} {M : Type u_3} [CommRing A] [CommRing B] [IsLocalRing A] [IsLocalRing B] [Algebra A B] [IsLocalHom (algebraMap A B)] [AddCommGroup M] [Module A M] [Module B M] [IsScalarTower A B M] {p q : Submodule B M} (h : p ⋖ q) :
Module.length A ↥q = Module.length A ↥p + Module.length (IsLocalRing.ResidueField A) (IsLocalRing.ResidueField B)
theorem IsLocalRing.length_restrictScalars (A : Type u_1) (B : Type u_2) (M : Type u_3) [CommRing A] [CommRing B] [IsLocalRing A] [IsLocalRing B] [Algebra A B] [IsLocalHom (algebraMap A B)] [AddCommGroup M] [Module A M] [Module B M] [IsScalarTower A B M] :
If B/A is an extension of local rings, and if M is a B-module, then
ℓ_A(M) = ℓ_B(M) * [κ(B) : κ(A)].
theorem CovBy.length_baseChange {A : Type u_1} (B : Type u_2) {M : Type u_3} [CommRing A] [CommRing B] [IsLocalRing A] [IsLocalRing B] [Algebra A B] [IsLocalHom (algebraMap A B)] [AddCommGroup M] [Module A M] [Module.Flat A B] {p q : Submodule A M} (h : p ⋖ q) :
Module.length B ↥(Submodule.baseChange B q) = Module.length B ↥(Submodule.baseChange B p) + Module.length B (B ⧸ Ideal.map (algebraMap A B) (IsLocalRing.maximalIdeal A))
theorem IsLocalRing.length_baseChange (A : Type u_1) (B : Type u_2) (M : Type u_3) [CommRing A] [CommRing B] [IsLocalRing A] [IsLocalRing B] [Algebra A B] [IsLocalHom (algebraMap A B)] [AddCommGroup M] [Module A M] [Module.Flat A B] :
Module.length B (TensorProduct A B M) = Module.length A M * Module.length B (B ⧸ Ideal.map (algebraMap A B) (maximalIdeal A))
If B/A is a flat extension of local rings, and if M is an A-module, then
ℓ_B(B ⊗[A] M) = ℓ_A(M) * ℓ_B(B ⧸ m_A).