@@ -213,40 +213,15 @@ variable [CommSemiring R]
213213variable [NonUnitalNonAssocSemiring A] [Module R A] [SMulCommClass R A A] [IsScalarTower R A A]
214214variable [NonUnitalNonAssocSemiring B] [Module R B] [SMulCommClass R B B] [IsScalarTower R B B]
215215
216- /-- (Implementation detail)
217- The multiplication map on `A ⊗[R] B`,
218- for a fixed pure tensor in the first argument,
219- as an `R`-linear map.
220- -/
221- def mulAux (a₁ : A) (b₁ : B) : A ⊗[R] B →ₗ[R] A ⊗[R] B :=
222- TensorProduct.map (LinearMap.mulLeft R a₁) (LinearMap.mulLeft R b₁)
223- #align algebra.tensor_product.mul_aux Algebra.TensorProduct.mulAux
224-
225- @[simp]
226- theorem mulAux_apply (a₁ a₂ : A) (b₁ b₂ : B) :
227- (mulAux a₁ b₁) (a₂ ⊗ₜ[R] b₂) = (a₁ * a₂) ⊗ₜ[R] (b₁ * b₂) :=
228- rfl
229- #align algebra.tensor_product.mul_aux_apply Algebra.TensorProduct.mulAux_apply
216+ #noalign algebra.tensor_product.mul_aux
217+ #noalign algebra.tensor_product.mul_aux_apply
230218
231219/-- (Implementation detail)
232220The multiplication map on `A ⊗[R] B`,
233221as an `R`-bilinear map.
234222-/
235223def mul : A ⊗[R] B →ₗ[R] A ⊗[R] B →ₗ[R] A ⊗[R] B :=
236- TensorProduct.lift <|
237- LinearMap.mk₂ R mulAux
238- (fun x₁ x₂ y =>
239- TensorProduct.ext' fun x' y' => by
240- simp only [mulAux_apply, LinearMap.add_apply, add_mul, add_tmul])
241- (fun c x y =>
242- TensorProduct.ext' fun x' y' => by
243- simp only [mulAux_apply, LinearMap.smul_apply, smul_tmul', smul_mul_assoc])
244- (fun x y₁ y₂ =>
245- TensorProduct.ext' fun x' y' => by
246- simp only [mulAux_apply, LinearMap.add_apply, add_mul, tmul_add])
247- fun c x y =>
248- TensorProduct.ext' fun x' y' => by
249- simp only [mulAux_apply, LinearMap.smul_apply, smul_tmul, smul_tmul', smul_mul_assoc]
224+ TensorProduct.map₂ (LinearMap.mul R A) (LinearMap.mul R B)
250225#align algebra.tensor_product.mul Algebra.TensorProduct.mul
251226
252227@[simp]
0 commit comments