Documentation

Mathlib.RingTheory.LocalRing.Module

Finite modules over local rings #

This file gathers various results about finite modules over a local ring (R, π”ͺ, k).

Main results #

theorem IsLocalRing.map_mkQ_eq {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsLocalRing R] {N₁ Nβ‚‚ : Submodule R M} (h : N₁ ≀ Nβ‚‚) (h' : Nβ‚‚.FG) :
Submodule.map (maximalIdeal R β€’ Nβ‚‚).mkQ N₁ = Submodule.map (maximalIdeal R β€’ Nβ‚‚).mkQ Nβ‚‚ ↔ N₁ = Nβ‚‚
theorem IsLocalRing.span_eq_top_of_tmul_eq_basis {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsLocalRing R] [Module.Finite R M] {ΞΉ : Type u_5} (f : ΞΉ β†’ M) (b : Module.Basis ΞΉ (ResidueField R) (TensorProduct R (ResidueField R) M)) (hb : βˆ€ (i : ΞΉ), 1 βŠ—β‚œ[R] f i = b i) :
theorem lTensor_injective_of_exact_of_exact_of_rTensor_injective {R : Type u_1} [CommRing R] {M₁ : Type u_5} {Mβ‚‚ : Type u_6} {M₃ : Type u_7} {N₁ : Type u_8} {Nβ‚‚ : Type u_9} {N₃ : Type u_10} [AddCommGroup M₁] [Module R M₁] [AddCommGroup Mβ‚‚] [Module R Mβ‚‚] [AddCommGroup M₃] [Module R M₃] [AddCommGroup N₁] [Module R N₁] [AddCommGroup Nβ‚‚] [Module R Nβ‚‚] [AddCommGroup N₃] [Module R N₃] {f₁ : M₁ β†’β‚—[R] Mβ‚‚} {fβ‚‚ : Mβ‚‚ β†’β‚—[R] M₃} {g₁ : N₁ β†’β‚—[R] Nβ‚‚} {gβ‚‚ : Nβ‚‚ β†’β‚—[R] N₃} (hfexact : Function.Exact ⇑f₁ ⇑fβ‚‚) (hfsurj : Function.Surjective ⇑fβ‚‚) (hgexact : Function.Exact ⇑g₁ ⇑gβ‚‚) (hgsurj : Function.Surjective ⇑gβ‚‚) (hfinj : Function.Injective ⇑(LinearMap.rTensor N₃ f₁)) (hginj : Function.Injective ⇑(LinearMap.lTensor Mβ‚‚ g₁)) :
Function.Injective ⇑(LinearMap.lTensor M₃ g₁)

Given M₁ β†’ Mβ‚‚ β†’ M₃ β†’ 0 and N₁ β†’ Nβ‚‚ β†’ N₃ β†’ 0, if M₁ βŠ— N₃ β†’ Mβ‚‚ βŠ— N₃ and Mβ‚‚ βŠ— N₁ β†’ Mβ‚‚ βŠ— Nβ‚‚ are both injective, then M₃ βŠ— N₁ β†’ M₃ βŠ— Nβ‚‚ is also injective.

theorem Module.exists_basis_of_basis_baseChange {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsLocalRing R] [FinitePresentation R M] {ΞΉ : Type u_5} (v : ΞΉ β†’ M) (hli : LinearIndependent (IsLocalRing.ResidueField R) (⇑((TensorProduct.mk R (IsLocalRing.ResidueField R) M) 1) ∘ v)) (hsp : Submodule.span (IsLocalRing.ResidueField R) (Set.range (⇑((TensorProduct.mk R (IsLocalRing.ResidueField R) M) 1) ∘ v)) = ⊀) (H : Function.Injective ⇑(LinearMap.rTensor M (Submodule.subtype (IsLocalRing.maximalIdeal R)))) :
βˆƒ (b : Basis ΞΉ R M), βˆ€ (i : ΞΉ), b i = v i

If M is of finite presentation over a local ring (R, π”ͺ, k) such that π”ͺ βŠ— M β†’ M is injective, then every family of elements that is a k-basis of k βŠ— M is an R-basis of M.

theorem Module.exists_basis_of_span_of_maximalIdeal_rTensor_injective {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsLocalRing R] [FinitePresentation R M] (H : Function.Injective ⇑(LinearMap.rTensor M (Submodule.subtype (IsLocalRing.maximalIdeal R)))) {ΞΉ : Type u} (v : ΞΉ β†’ M) (hv : Submodule.span R (Set.range v) = ⊀) :
βˆƒ (ΞΊ : Type u) (a : ΞΊ β†’ ΞΉ) (b : Basis ΞΊ R M), βˆ€ (i : ΞΊ), b i = v (a i)

If M is a finitely presented module over a local ring (R, π”ͺ) such that m βŠ— M β†’ M is injective, then every generating family contains a basis.

theorem Module.exists_basis_of_span_of_flat {R : Type u_1} {M : Type u_2} [CommRing R] [AddCommGroup M] [Module R M] [IsLocalRing R] [FinitePresentation R M] [Flat R M] {ΞΉ : Type u} (v : ΞΉ β†’ M) (hv : Submodule.span R (Set.range v) = ⊀) :
βˆƒ (ΞΊ : Type u) (a : ΞΊ β†’ ΞΉ) (b : Basis ΞΊ R M), βˆ€ (i : ΞΊ), b i = v (a i)

If M is a finitely presented module over a local ring (R, π”ͺ) such that m βŠ— M β†’ M is injective, then M is free.

theorem Module.free_of_lTensor_residueField_injective {R : Type u_1} {M : Type u_2} {N : Type u_3} {P : Type u_4} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] [AddCommGroup P] [Module R P] (f : M β†’β‚—[R] N) (g : N β†’β‚—[R] P) [IsLocalRing R] (hg : Function.Surjective ⇑g) (h : Function.Exact ⇑f ⇑g) [Module.Finite R M] [Module.Finite R N] [Free R N] (hf : Function.Injective ⇑(LinearMap.lTensor (IsLocalRing.ResidueField R) f)) :
Free R P

If M β†’ N β†’ P β†’ 0 is a presentation of P over a local ring (R, π”ͺ, k) with M finite and N finite free, then injectivity of k βŠ— M β†’ k βŠ— N implies that P is free.

Given a linear map l : M β†’ N over a local ring (R, π”ͺ, k) with M finite and N finite free, l is a split injection if and only if k βŠ— l is a (split) injection.

theorem Module.nonempty_basis_of_flat_of_finrank_eq (R : Type u_1) (M : Type u_2) [CommRing R] [Finite (MaximalSpectrum R)] [AddCommGroup M] [Module R M] [Module.Finite R M] [Flat R M] (n : β„•) (rk : βˆ€ (P : MaximalSpectrum R), finrank (R β§Έ P.asIdeal) (TensorProduct R (R β§Έ P.asIdeal) M) = n) :
Nonempty (Basis (Fin n) R M)

If M is a finite flat module over a commutative semilocal ring R that has the same rank n at every maximal ideal, then M is free of rank n.

theorem Module.free_of_flat_of_finrank_eq (R : Type u_1) (M : Type u_2) [CommRing R] [Finite (MaximalSpectrum R)] [AddCommGroup M] [Module R M] [Module.Finite R M] [Flat R M] (n : β„•) (rk : βˆ€ (P : MaximalSpectrum R), finrank (R β§Έ P.asIdeal) (TensorProduct R (R β§Έ P.asIdeal) M) = n) :
Free R M

Stacks Tag 02M9