Skip to content

Commit 55d9ff2

Browse files
committed
feat(RingTheory/Coalgebra/Convolution): (f ⊗ₘ g) * (h ⊗ₘ k) = (f * h) ⊗ₘ (g * k) (#31251)
1 parent 242077a commit 55d9ff2

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

Mathlib/LinearAlgebra/TensorProduct/Associator.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,11 @@ theorem tensorTensorTensorComm_symm :
256256
(tensorTensorTensorComm R M N P Q).symm = tensorTensorTensorComm R M P N Q :=
257257
rfl
258258

259+
@[simp] theorem tensorTensorTensorComm_trans_tensorTensorTensorComm :
260+
tensorTensorTensorComm R M N P Q ≪≫ₗ tensorTensorTensorComm R M P N Q = .refl R _ := by
261+
rw [← tensorTensorTensorComm_symm]
262+
exact LinearEquiv.symm_trans_self _
263+
259264
theorem tensorTensorTensorComm_comp_map {V W : Type*}
260265
[AddCommMonoid V] [AddCommMonoid W] [Module R V] [Module R W]
261266
(f : M →ₗ[R] S) (g : N →ₗ[R] T) (h : P →ₗ[R] V) (j : Q →ₗ[R] W) :

Mathlib/RingTheory/Coalgebra/Convolution.lean

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Authors: Yaël Dillies, Michał Mrugała, Yunzhou Xie
66
import Mathlib.Algebra.Algebra.Bilinear
77
import Mathlib.LinearAlgebra.TensorProduct.Tower
88
import Mathlib.RingTheory.Coalgebra.Hom
9+
import Mathlib.RingTheory.Coalgebra.TensorProduct
10+
import Mathlib.RingTheory.TensorProduct.Basic
911

1012
/-!
1113
# Convolution product on linear maps from a coalgebra to an algebra
@@ -72,6 +74,16 @@ scoped[ConvolutionProduct] attribute [instance] LinearMap.convNonUnitalNonAssocS
7274
@[simp] lemma toSpanSingleton_convMul_toSpanSingleton (x y : A) :
7375
toSpanSingleton R A x * toSpanSingleton R A y = toSpanSingleton R A (x * y) := by ext; simp
7476

77+
theorem _root_.TensorProduct.map_convMul_map {D : Type*} [AddCommMonoid B] [Module R B]
78+
[CoalgebraStruct R B] [NonUnitalNonAssocSemiring D] [Module R D] [SMulCommClass R D D]
79+
[IsScalarTower R D D] {f h : C →ₗ[R] A} {g k : B →ₗ[R] D} :
80+
(f ⊗ₘ g) * (h ⊗ₘ k) = (f * h) ⊗ₘ (g * k) := by
81+
simp_rw [convMul_def, comul_def, mul'_tensor, comp_assoc, AlgebraTensorModule.map_eq,
82+
← comp_assoc _ _ (tensorTensorTensorComm R _ _ _ _).toLinearMap]
83+
nth_rw 2 [← comp_assoc, comp_assoc]
84+
simp [AlgebraTensorModule.tensorTensorTensorComm_eq, ← tensorTensorTensorComm_comp_map,
85+
← comp_assoc, map_comp]
86+
7587
end NonUnitalNonAssocSemiring
7688

7789
open scoped ConvolutionProduct

0 commit comments

Comments
 (0)