Span rank under operations #
In this file we show how operations on submodules interact with Submodule.spanRank.
Main results #
Submodule.spanRank_baseChange_le: Base change doesn't increase the span rank.TensorProduct.spanFinrank_top_eq_of_residueField: For a finitely generated module over a local ring, the dimension of the base change to the residue field is equal to its span rank.IsLocalRing.spanFinrank_maximalIdeal_eq_finrank_cotangentSpace: The minimal number of generators of the unique maximal ideal is equal to the dimension of the cotangent space.
theorem
Submodule.spanRank_baseChange_le
{R : Type u_1}
{A : Type u_2}
[CommRing R]
[CommRing A]
[Algebra R A]
{M : Type u_3}
[AddCommGroup M]
[Module R M]
(N : Submodule R M)
:
theorem
TensorProduct.spanFinrank_top_eq_of_residueField
{R : Type u_1}
[CommRing R]
{M : Type u_3}
[AddCommGroup M]
[Module R M]
(N : Submodule R M)
[IsLocalRing R]
(fg : N.FG)
:
theorem
IsLocalRing.spanFinrank_eq_finrank_quotient
{R : Type u_1}
[CommRing R]
{M : Type u_3}
[AddCommGroup M]
[Module R M]
[IsLocalRing R]
(N : Submodule R M)
(fg : N.FG)
:
theorem
IsLocalRing.spanFinrank_maximalIdeal_eq_finrank_cotangentSpace_of_fg
{R : Type u_1}
[CommRing R]
[IsLocalRing R]
(fg : (maximalIdeal R).FG)
:
theorem
IsLocalRing.spanFinrank_maximalIdeal_eq_finrank_cotangentSpace
(R : Type u_1)
[CommRing R]
[IsLocalRing R]
[IsNoetherianRing R]
:
theorem
IsLocalRing.spanFinrank_maximalIdeal_add_finrank_eq_of_surjective
{R : Type u_1}
[CommRing R]
[IsLocalRing R]
[IsNoetherianRing R]
{S : Type u_4}
[CommRing S]
[IsLocalRing S]
[Algebra R S]
(surj : Function.Surjective ⇑(algebraMap R S))
[IsLocalHom (algebraMap R S)]
:
Submodule.spanFinrank (maximalIdeal S) + Module.finrank (ResidueField R)
↥(Submodule.map (toCotangentSpace R)
(Submodule.comap (Submodule.subtype (maximalIdeal R)) (RingHom.ker (algebraMap R S)))) = Submodule.spanFinrank (maximalIdeal R)