@@ -6,6 +6,8 @@ Authors: Yaël Dillies, Michał Mrugała, Yunzhou Xie
66import Mathlib.Algebra.Algebra.Bilinear
77import Mathlib.LinearAlgebra.TensorProduct.Tower
88import 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+
7587end NonUnitalNonAssocSemiring
7688
7789open scoped ConvolutionProduct
0 commit comments