Documentation

Mathlib.RingTheory.Finiteness.TensorProduct

Finiteness of the tensor product of (sub)modules #

TODO: this file can probably be merged with RingTheory.TensorProduct.Finite, although the two files are currently incomparable in the import graph: we will need further cleanup of the lemmas involved before we can do this.

theorem Submodule.exists_fg_le_eq_rTensor_inclusion {R : Type u_4} {M : Type u_5} {N : Type u_6} [CommRing R] [AddCommGroup M] [AddCommGroup N] [Module R M] [Module R N] {I : Submodule R N} (x : TensorProduct R (↥I) M) :
∃ (J : Submodule R N) (_ : J.FG) (hle : J I) (y : TensorProduct R (↥J) M), x = (LinearMap.rTensor M (Submodule.inclusion hle)) y

Every x : I ⊗ M is the image of some y : J ⊗ M, where J ≤ I is finitely generated, under the tensor product of J.inclusion ‹J ≤ I› : J → I and the identity M → M.

noncomputable def instModuleTensorProduct (R : Type u_1) (A : Type u_2) (M : Type u_4) [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] :

Porting note: reminding Lean about this instance for Module.Finite.base_change

Equations
Instances For
    instance Module.Finite.base_change (R : Type u_1) (A : Type u_2) (M : Type u_4) [CommSemiring R] [Semiring A] [Algebra R A] [AddCommMonoid M] [Module R M] [h : Module.Finite R M] :
    Equations
    • =
    instance Module.Finite.tensorProduct (R : Type u_1) (M : Type u_4) (N : Type u_5) [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] [hM : Module.Finite R M] [hN : Module.Finite R N] :
    Equations
    • =
    theorem Module.exists_isPrincipal_quotient_of_finite (R : Type u_1) (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Nontrivial M] :
    ∃ (N : Submodule R M), N .IsPrincipal
    theorem Module.exists_surjective_quotient_of_finite (R : Type u_1) (M : Type u_2) [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Nontrivial M] :
    ∃ (I : Ideal R) (f : M →ₗ[R] R I), I Function.Surjective f
    Equations
    • =