Documentation

Mathlib.RingTheory.LocalProperties.Projective

Being projective is a local property #

Main results #

TODO #

theorem Module.free_of_isLocalizedModule {R : Type u_1} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] {Rₛ : Type u_4} {Mₛ : Type u_5} [AddCommGroup Mₛ] [Module R Mₛ] [CommRing Rₛ] [Algebra R Rₛ] [Module Rₛ Mₛ] [IsScalarTower R Rₛ Mₛ] (S : Submonoid R) (f : M →ₗ[R] Mₛ) [IsLocalization S Rₛ] [IsLocalizedModule S f] [Module.Free R M] :
Module.Free Rₛ Mₛ
theorem Module.lift_rank_of_isLocalizedModule_of_free {R : Type u_1} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] (Rₛ : Type uR') {Mₛ : Type uM'} [AddCommGroup Mₛ] [Module R Mₛ] [CommRing Rₛ] [Algebra R Rₛ] [Module Rₛ Mₛ] [IsScalarTower R Rₛ Mₛ] (S : Submonoid R) (f : M →ₗ[R] Mₛ) [IsLocalization S Rₛ] [IsLocalizedModule S f] [Module.Free R M] [Nontrivial Rₛ] :

Also see IsLocalizedModule.lift_rank_eq for a version for non-free modules, but requires S to not contain any zero-divisors.

theorem Module.finrank_of_isLocalizedModule_of_free {R : Type u_1} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] (Rₛ : Type u_4) {Mₛ : Type u_5} [AddCommGroup Mₛ] [Module R Mₛ] [CommRing Rₛ] [Algebra R Rₛ] [Module Rₛ Mₛ] [IsScalarTower R Rₛ Mₛ] (S : Submonoid R) (f : M →ₗ[R] Mₛ) [IsLocalization S Rₛ] [IsLocalizedModule S f] [Module.Free R M] [Nontrivial Rₛ] :
theorem Module.projective_of_isLocalizedModule {R : Type u_1} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] {Rₛ : Type u_4} {Mₛ : Type u_5} [AddCommGroup Mₛ] [Module R Mₛ] [CommRing Rₛ] [Algebra R Rₛ] [Module Rₛ Mₛ] [IsScalarTower R Rₛ Mₛ] (S : Submonoid R) (f : M →ₗ[R] Mₛ) [IsLocalization S Rₛ] [IsLocalizedModule S f] [Module.Projective R M] :
theorem LinearMap.split_surjective_of_localization_maximal {R : Type u_1} {N : Type u_2} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (f : M →ₗ[R] N) [Module.FinitePresentation R N] (H : ∀ (I : Ideal R) (x : I.IsMaximal), ∃ (g : LocalizedModule I.primeCompl N →ₗ[Localization.AtPrime I] LocalizedModule I.primeCompl M), (LocalizedModule.map I.primeCompl) f ∘ₗ g = LinearMap.id) :
∃ (g : N →ₗ[R] M), f ∘ₗ g = LinearMap.id
theorem Module.projective_of_localization_maximal {R : Type u_1} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] (H : ∀ (I : Ideal R) (x : I.IsMaximal), Module.Projective (Localization.AtPrime I) (LocalizedModule I.primeCompl M)) [Module.FinitePresentation R M] :
theorem Module.projective_of_localization_maximal' {R : Type u_1} {M : Type uM} [CommRing R] [AddCommGroup M] [Module R M] (Rₚ : (P : Ideal R) → [inst : P.IsMaximal] → Type u_4) [(P : Ideal R) → [inst : P.IsMaximal] → CommRing (Rₚ P)] [(P : Ideal R) → [inst : P.IsMaximal] → Algebra R (Rₚ P)] [∀ (P : Ideal R) [inst : P.IsMaximal], IsLocalization.AtPrime (Rₚ P) P] (Mₚ : (P : Ideal R) → [inst : P.IsMaximal] → Type u_5) [(P : Ideal R) → [inst : P.IsMaximal] → AddCommGroup (Mₚ P)] [(P : Ideal R) → [inst : P.IsMaximal] → Module R (Mₚ P)] [(P : Ideal R) → [inst : P.IsMaximal] → Module (Rₚ P) (Mₚ P)] [∀ (P : Ideal R) [inst : P.IsMaximal], IsScalarTower R (Rₚ P) (Mₚ P)] (f : (P : Ideal R) → [inst : P.IsMaximal] → M →ₗ[R] Mₚ P) [inst : ∀ (P : Ideal R) [inst : P.IsMaximal], IsLocalizedModule P.primeCompl (f P)] (H : ∀ (I : Ideal R) (x : I.IsMaximal), Module.Projective (Rₚ I) (Mₚ I)) [Module.FinitePresentation R M] :

A variant of Module.projective_of_localization_maximal that accepts IsLocalizedModule.