@@ -14,7 +14,8 @@ public import Mathlib.RingTheory.Ideal.Quotient.Defs
1414
1515# Interaction between Quotients and Tensor Products
1616
17- This file contains constructions that relate quotients and tensor products.
17+ This file contains constructions that relate quotients and tensor products. This file is also a home
18+ for results whose proof depends on both tensor products and linear algebraic quotients.
1819Let `M, N` be `R`-modules, `m ≤ M` and `n ≤ N` be an `R`-submodules and `I ≤ R` an ideal. We prove
1920the following isomorphisms:
2021
@@ -297,4 +298,32 @@ lemma tensorQuotientEquiv_symm_apply_mk_tmul (n : Submodule B N) (x : M) (y : N)
297298 x ⊗ₜ[R] Submodule.Quotient.mk y :=
298299 rfl
299300
301+
302+ variable [Module A N] [IsScalarTower R A N]
303+
304+ /- This lemma characterizes the kernel of `TensorProduct.mapOfCompatibleSMul`. Together with
305+ `TensorProduct.mapOfCompatibleSMul_surjective` it gives an alternative characterization of
306+ `M ⊗[A] N` as the quotient of `M ⊗[R] N` by the submodule `S` described below. -/
307+ lemma ker_mapOfCompatibleSMul :
308+ (mapOfCompatibleSMul A R A M N).ker =
309+ Submodule.span A {(a • m) ⊗ₜ[R] n - m ⊗ₜ[R] (a • n) | (a : A) (m : M) (n : N)} := by
310+ refine (Submodule.span_eq_of_le (mapOfCompatibleSMul A R A M N).ker ?_ ?_).symm
311+ · rintro - ⟨a, m, n, rfl⟩
312+ simp [smul_tmul]
313+ · let S := Submodule.span A {(a • m) ⊗ₜ[R] n - m ⊗ₜ[R] (a • n) | (a : A) (m : M) (n : N)}
314+ let F : M ⊗[A] N →ₗ[A] (M ⊗[R] N) ⧸ S := TensorProduct.lift ({
315+ toFun m := {
316+ toFun n := S.mkQ (m ⊗ₜ[R] n)
317+ map_add' _ _ := by simp [tmul_add]
318+ map_smul' a n := by
319+ rw [Submodule.mkQ_apply, Submodule.mkQ_apply, ← Submodule.Quotient.mk_smul, eq_comm,
320+ Submodule.Quotient.eq, RingHom.id_apply]
321+ exact Submodule.subset_span ⟨a, m, n, rfl⟩ }
322+ map_add' _ _ := by ext _; simp [add_tmul]
323+ map_smul' _ _ := by simp; rfl })
324+ have h : F ∘ₗ mapOfCompatibleSMul A R A M N = S.mkQ := by ext; simp [S, F]
325+ change (mapOfCompatibleSMul A R A M N).ker ≤ S
326+ rw [← Submodule.ker_mkQ S, ← h]
327+ exact (mapOfCompatibleSMul A R A M N).ker_le_ker_comp F
328+
300329end TensorProduct.AlgebraTensorModule
0 commit comments