Finiteness of the tensor product of (sub)modules #
In this file we show that the supremum of two subalgebras that are finitely generated as modules, is again finitely generated.
theorem
Submodule.exists_fg_le_eq_rTensor_subtype
{R : Type u_1}
{M : Type u_2}
{N : Type u_3}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid N]
[Module R M]
[Module R N]
(x : TensorProduct R N M)
:
ā (J : Submodule R N) (_ : J.FG) (y : TensorProduct R (ā„J) M), x = (LinearMap.rTensor M J.subtype) y
Every x : N ā M is the image of some y : J ā M, where J is a finitely generated
submodule of N, under the tensor product of the inclusion J ā N and the identity M ā M.
theorem
Submodule.exists_fg_le_subset_range_rTensor_subtype
{R : Type u_1}
{M : Type u_2}
{N : Type u_3}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid N]
[Module R M]
[Module R N]
(s : Set (TensorProduct R N M))
(hs : s.Finite)
:
theorem
Submodule.exists_fg_le_eq_rTensor_inclusion
{R : Type u_1}
{M : Type u_2}
{N : Type u_3}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid 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 (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.
theorem
Submodule.exists_fg_le_subset_range_rTensor_inclusion
{R : Type u_1}
{M : Type u_2}
{N : Type u_3}
[CommSemiring R]
[AddCommMonoid M]
[AddCommMonoid N]
[Module R M]
[Module R N]
{I : Submodule R N}
(s : Set (TensorProduct R (ā„I) M))
(hs : s.Finite)
:
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]
:
Module.Finite A (TensorProduct R A M)
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]
:
Module.Finite R (TensorProduct R M N)
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]
:
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]
:
instance
instNontrivialTensorProduct
(R : Type u_1)
(M : Type u_2)
[CommRing R]
[AddCommGroup M]
[Module R M]
[Module.Finite R M]
[Nontrivial M]
:
Nontrivial (TensorProduct R M M)
theorem
Subalgebra.finite_sup
{K : Type u_1}
{L : Type u_2}
[CommSemiring K]
[CommSemiring L]
[Algebra K L]
(E1 E2 : Subalgebra K L)
[Module.Finite K ā„E1]
[Module.Finite K ā„E2]
:
Module.Finite K ā„(E1 ā E2)
theorem
RingHom.Finite.tensorProductMap
{R : Type u_1}
{S : Type u_2}
{S' : Type u_3}
{T : Type u_4}
{T' : Type u_5}
[CommRing R]
[CommRing S]
[CommRing T]
[CommRing S']
[CommRing T']
[Algebra R S]
[Algebra R T]
[Algebra R S']
[Algebra R T']
{f : S āā[R] S'}
(Hf : f.Finite)
{g : T āā[R] T'}
(Hg : g.Finite)
: