algebra.algebra.bilinear
⟷
Mathlib.Algebra.Algebra.Bilinear
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -4,9 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-/
import Algebra.Algebra.Basic
-import Algebra.Hom.Iterate
-import Algebra.Hom.NonUnitalAlg
-import LinearAlgebra.TensorProduct
+import Algebra.GroupPower.IterateHom
+import Algebra.Algebra.NonUnitalHom
+import LinearAlgebra.TensorProduct.Basic
#align_import algebra.algebra.bilinear from "leanprover-community/mathlib"@"832f7b9162039c28b9361289c8681f155cae758f"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-/
-import Mathbin.Algebra.Algebra.Basic
-import Mathbin.Algebra.Hom.Iterate
-import Mathbin.Algebra.Hom.NonUnitalAlg
-import Mathbin.LinearAlgebra.TensorProduct
+import Algebra.Algebra.Basic
+import Algebra.Hom.Iterate
+import Algebra.Hom.NonUnitalAlg
+import LinearAlgebra.TensorProduct
#align_import algebra.algebra.bilinear from "leanprover-community/mathlib"@"832f7b9162039c28b9361289c8681f155cae758f"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2018 Kenny Lau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-
-! This file was ported from Lean 3 source module algebra.algebra.bilinear
-! leanprover-community/mathlib commit 832f7b9162039c28b9361289c8681f155cae758f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Algebra.Basic
import Mathbin.Algebra.Hom.Iterate
import Mathbin.Algebra.Hom.NonUnitalAlg
import Mathbin.LinearAlgebra.TensorProduct
+#align_import algebra.algebra.bilinear from "leanprover-community/mathlib"@"832f7b9162039c28b9361289c8681f155cae758f"
+
/-!
# Facts about algebras involving bilinear maps and tensor products
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -36,81 +36,109 @@ section NonUnitalNonAssoc
variable (R A : Type _) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
[SMulCommClass R A A] [IsScalarTower R A A]
+#print LinearMap.mul /-
/-- The multiplication in a non-unital non-associative algebra is a bilinear map.
A weaker version of this for semirings exists as `add_monoid_hom.mul`. -/
def mul : A →ₗ[R] A →ₗ[R] A :=
LinearMap.mk₂ R (· * ·) add_mul smul_mul_assoc mul_add mul_smul_comm
#align linear_map.mul LinearMap.mul
+-/
+#print LinearMap.mul' /-
/-- The multiplication map on a non-unital algebra, as an `R`-linear map from `A ⊗[R] A` to `A`. -/
def mul' : A ⊗[R] A →ₗ[R] A :=
TensorProduct.lift (mul R A)
#align linear_map.mul' LinearMap.mul'
+-/
variable {A}
+#print LinearMap.mulLeft /-
/-- The multiplication on the left in a non-unital algebra is a linear map. -/
def mulLeft (a : A) : A →ₗ[R] A :=
mul R A a
#align linear_map.mul_left LinearMap.mulLeft
+-/
+#print LinearMap.mulRight /-
/-- The multiplication on the right in an algebra is a linear map. -/
def mulRight (a : A) : A →ₗ[R] A :=
(mul R A).flip a
#align linear_map.mul_right LinearMap.mulRight
+-/
+#print LinearMap.mulLeftRight /-
/-- Simultaneous multiplication on the left and right is a linear map. -/
def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
(mulRight R ab.snd).comp (mulLeft R ab.fst)
#align linear_map.mul_left_right LinearMap.mulLeftRight
+-/
+#print LinearMap.mulLeft_toAddMonoidHom /-
@[simp]
theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
rfl
#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHom
+-/
+#print LinearMap.mulRight_toAddMonoidHom /-
@[simp]
theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
rfl
#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHom
+-/
variable {R}
+#print LinearMap.mul_apply' /-
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
rfl
#align linear_map.mul_apply' LinearMap.mul_apply'
+-/
+#print LinearMap.mulLeft_apply /-
@[simp]
theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
rfl
#align linear_map.mul_left_apply LinearMap.mulLeft_apply
+-/
+#print LinearMap.mulRight_apply /-
@[simp]
theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
rfl
#align linear_map.mul_right_apply LinearMap.mulRight_apply
+-/
+#print LinearMap.mulLeftRight_apply /-
@[simp]
theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
rfl
#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_apply
+-/
+#print LinearMap.mul'_apply /-
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
rfl
#align linear_map.mul'_apply LinearMap.mul'_apply
+-/
+#print LinearMap.mulLeft_zero_eq_zero /-
@[simp]
theorem mulLeft_zero_eq_zero : mulLeft R (0 : A) = 0 :=
(mul R A).map_zero
#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zero
+-/
+#print LinearMap.mulRight_zero_eq_zero /-
@[simp]
theorem mulRight_zero_eq_zero : mulRight R (0 : A) = 0 :=
(mul R A).flip.map_zero
#align linear_map.mul_right_zero_eq_zero LinearMap.mulRight_zero_eq_zero
+-/
end NonUnitalNonAssoc
@@ -119,6 +147,7 @@ section NonUnital
variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A]
[IsScalarTower R A A]
+#print NonUnitalAlgHom.lmul /-
/-- The multiplication in a non-unital algebra is a bilinear map.
A weaker version of this for non-unital non-associative algebras exists as `linear_map.mul`. -/
@@ -127,27 +156,36 @@ def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
map_mul' := by intro a b; ext c; exact mul_assoc a b c
map_zero' := by ext a; exact MulZeroClass.zero_mul a }
#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmul
+-/
variable {R A}
+#print NonUnitalAlgHom.coe_lmul_eq_mul /-
@[simp]
theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
rfl
#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mul
+-/
+#print LinearMap.commute_mulLeft_right /-
theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) := by ext c;
exact (mul_assoc a c b).symm
#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_right
+-/
+#print LinearMap.mulLeft_mul /-
@[simp]
theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft R b) := by ext;
simp only [mul_left_apply, comp_apply, mul_assoc]
#align linear_map.mul_left_mul LinearMap.mulLeft_mul
+-/
+#print LinearMap.mulRight_mul /-
@[simp]
theorem mulRight_mul (a b : A) : mulRight R (a * b) = (mulRight R b).comp (mulRight R a) := by ext;
simp only [mul_right_apply, comp_apply, mul_assoc]
#align linear_map.mul_right_mul LinearMap.mulRight_mul
+-/
end NonUnital
@@ -155,6 +193,7 @@ section Semiring
variable (R A : Type _) [CommSemiring R] [Semiring A] [Algebra R A]
+#print Algebra.lmul /-
/-- The multiplication in an algebra is an algebra homomorphism into the endomorphisms on
the algebra.
@@ -166,14 +205,18 @@ def Algebra.lmul : A →ₐ[R] End R A :=
map_zero' := by ext a; exact MulZeroClass.zero_mul a
commutes' := by intro r; ext a; exact (Algebra.smul_def r a).symm }
#align algebra.lmul Algebra.lmul
+-/
variable {R A}
+#print Algebra.coe_lmul_eq_mul /-
@[simp]
theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
rfl
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
+-/
+#print LinearMap.mulLeft_eq_zero_iff /-
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
by
@@ -181,7 +224,9 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
· rw [← mul_one a, ← mul_left_apply a 1, h, LinearMap.zero_apply]
· rw [h]; exact mul_left_zero_eq_zero
#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iff
+-/
+#print LinearMap.mulRight_eq_zero_iff /-
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
by
@@ -189,6 +234,7 @@ theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
· rw [← one_mul a, ← mul_right_apply a 1, h, LinearMap.zero_apply]
· rw [h]; exact mul_right_zero_eq_zero
#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iff
+-/
#print LinearMap.mulLeft_one /-
@[simp]
@@ -227,6 +273,7 @@ section Ring
variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
+#print LinearMap.mulLeft_injective /-
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
by
@@ -234,7 +281,9 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
letI := NoZeroDivisors.to_isDomain A
exact mul_right_injective₀ hx
#align linear_map.mul_left_injective LinearMap.mulLeft_injective
+-/
+#print LinearMap.mulRight_injective /-
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
by
@@ -242,13 +291,16 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
letI := NoZeroDivisors.to_isDomain A
exact mul_left_injective₀ hx
#align linear_map.mul_right_injective LinearMap.mulRight_injective
+-/
+#print LinearMap.mul_injective /-
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
letI : Nontrivial A := ⟨⟨x, 0, hx⟩⟩
letI := NoZeroDivisors.to_isDomain A
exact mul_right_injective₀ hx
#align linear_map.mul_injective LinearMap.mul_injective
+-/
end Ring
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -169,12 +169,10 @@ def Algebra.lmul : A →ₐ[R] End R A :=
variable {R A}
-#print Algebra.coe_lmul_eq_mul /-
@[simp]
theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
rfl
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
--/
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -25,7 +25,7 @@ in order to avoid importing `linear_algebra.bilinear_map` and
-/
-open TensorProduct
+open scoped TensorProduct
open Module
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -36,9 +36,6 @@ section NonUnitalNonAssoc
variable (R A : Type _) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
[SMulCommClass R A A] [IsScalarTower R A A]
-/- warning: linear_map.mul -> LinearMap.mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul LinearMap.mulₓ'. -/
/-- The multiplication in a non-unital non-associative algebra is a bilinear map.
A weaker version of this for semirings exists as `add_monoid_hom.mul`. -/
@@ -46,12 +43,6 @@ def mul : A →ₗ[R] A →ₗ[R] A :=
LinearMap.mk₂ R (· * ·) add_mul smul_mul_assoc mul_add mul_smul_comm
#align linear_map.mul LinearMap.mul
-/- warning: linear_map.mul' -> LinearMap.mul' is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3
-but is expected to have type
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3
-Case conversion may be inaccurate. Consider using '#align linear_map.mul' LinearMap.mul'ₓ'. -/
/-- The multiplication map on a non-unital algebra, as an `R`-linear map from `A ⊗[R] A` to `A`. -/
def mul' : A ⊗[R] A →ₗ[R] A :=
TensorProduct.lift (mul R A)
@@ -59,50 +50,26 @@ def mul' : A ⊗[R] A →ₗ[R] A :=
variable {A}
-/- warning: linear_map.mul_left -> LinearMap.mulLeft is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
-but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left LinearMap.mulLeftₓ'. -/
/-- The multiplication on the left in a non-unital algebra is a linear map. -/
def mulLeft (a : A) : A →ₗ[R] A :=
mul R A a
#align linear_map.mul_left LinearMap.mulLeft
-/- warning: linear_map.mul_right -> LinearMap.mulRight is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
-but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right LinearMap.mulRightₓ'. -/
/-- The multiplication on the right in an algebra is a linear map. -/
def mulRight (a : A) : A →ₗ[R] A :=
(mul R A).flip a
#align linear_map.mul_right LinearMap.mulRight
-/- warning: linear_map.mul_left_right -> LinearMap.mulLeftRight is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], (Prod.{u2, u2} A A) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
-but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], (Prod.{u2, u2} A A) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right LinearMap.mulLeftRightₓ'. -/
/-- Simultaneous multiplication on the left and right is a linear map. -/
def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
(mulRight R ab.snd).comp (mulLeft R ab.fst)
#align linear_map.mul_left_right LinearMap.mulLeftRight
-/- warning: linear_map.mul_left_to_add_monoid_hom -> LinearMap.mulLeft_toAddMonoidHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHomₓ'. -/
@[simp]
theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
rfl
#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHom
-/- warning: linear_map.mul_right_to_add_monoid_hom -> LinearMap.mulRight_toAddMonoidHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHomₓ'. -/
@[simp]
theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
rfl
@@ -110,66 +77,36 @@ theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidH
variable {R}
-/- warning: linear_map.mul_apply' -> LinearMap.mul_apply' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply' LinearMap.mul_apply'ₓ'. -/
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
rfl
#align linear_map.mul_apply' LinearMap.mul_apply'
-/- warning: linear_map.mul_left_apply -> LinearMap.mulLeft_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_apply LinearMap.mulLeft_applyₓ'. -/
@[simp]
theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
rfl
#align linear_map.mul_left_apply LinearMap.mulLeft_apply
-/- warning: linear_map.mul_right_apply -> LinearMap.mulRight_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) b a)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_apply LinearMap.mulRight_applyₓ'. -/
@[simp]
theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
rfl
#align linear_map.mul_right_apply LinearMap.mulRight_apply
-/- warning: linear_map.mul_left_right_apply -> LinearMap.mulLeftRight_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a x) b)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_applyₓ'. -/
@[simp]
theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
rfl
#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_apply
-/- warning: linear_map.mul'_apply -> LinearMap.mul'_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul'_apply LinearMap.mul'_applyₓ'. -/
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
rfl
#align linear_map.mul'_apply LinearMap.mul'_apply
-/- warning: linear_map.mul_left_zero_eq_zero -> LinearMap.mulLeft_zero_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zeroₓ'. -/
@[simp]
theorem mulLeft_zero_eq_zero : mulLeft R (0 : A) = 0 :=
(mul R A).map_zero
#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zero
-/- warning: linear_map.mul_right_zero_eq_zero -> LinearMap.mulRight_zero_eq_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_zero_eq_zero LinearMap.mulRight_zero_eq_zeroₓ'. -/
@[simp]
theorem mulRight_zero_eq_zero : mulRight R (0 : A) = 0 :=
(mul R A).flip.map_zero
@@ -182,9 +119,6 @@ section NonUnital
variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A]
[IsScalarTower R A A]
-/- warning: non_unital_alg_hom.lmul -> NonUnitalAlgHom.lmul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmulₓ'. -/
/-- The multiplication in a non-unital algebra is a bilinear map.
A weaker version of this for non-unital non-associative algebras exists as `linear_map.mul`. -/
@@ -196,32 +130,20 @@ def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
variable {R A}
-/- warning: non_unital_alg_hom.coe_lmul_eq_mul -> NonUnitalAlgHom.coe_lmul_eq_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
rfl
#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mul
-/- warning: linear_map.commute_mul_left_right -> LinearMap.commute_mulLeft_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_rightₓ'. -/
theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) := by ext c;
exact (mul_assoc a c b).symm
#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_right
-/- warning: linear_map.mul_left_mul -> LinearMap.mulLeft_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_mul LinearMap.mulLeft_mulₓ'. -/
@[simp]
theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft R b) := by ext;
simp only [mul_left_apply, comp_apply, mul_assoc]
#align linear_map.mul_left_mul LinearMap.mulLeft_mul
-/- warning: linear_map.mul_right_mul -> LinearMap.mulRight_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_mul LinearMap.mulRight_mulₓ'. -/
@[simp]
theorem mulRight_mul (a b : A) : mulRight R (a * b) = (mulRight R b).comp (mulRight R a) := by ext;
simp only [mul_right_apply, comp_apply, mul_assoc]
@@ -233,12 +155,6 @@ section Semiring
variable (R A : Type _) [CommSemiring R] [Semiring A] [Algebra R A]
-/- warning: algebra.lmul -> Algebra.lmul is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2], AlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_3 (Module.End.algebra.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2], AlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_3 (Module.instAlgebraEndToSemiringSemiring.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align algebra.lmul Algebra.lmulₓ'. -/
/-- The multiplication in an algebra is an algebra homomorphism into the endomorphisms on
the algebra.
@@ -260,12 +176,6 @@ theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
-/
-/- warning: linear_map.mul_left_eq_zero_iff -> LinearMap.mulLeft_eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iffₓ'. -/
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
by
@@ -274,12 +184,6 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
· rw [h]; exact mul_left_zero_eq_zero
#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iff
-/- warning: linear_map.mul_right_eq_zero_iff -> LinearMap.mulRight_eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iffₓ'. -/
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
by
@@ -325,12 +229,6 @@ section Ring
variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
-/- warning: linear_map.mul_left_injective -> LinearMap.mulLeft_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
by
@@ -339,12 +237,6 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
exact mul_right_injective₀ hx
#align linear_map.mul_left_injective LinearMap.mulLeft_injective
-/- warning: linear_map.mul_right_injective -> LinearMap.mulRight_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
by
@@ -353,9 +245,6 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
exact mul_left_injective₀ hx
#align linear_map.mul_right_injective LinearMap.mulRight_injective
-/- warning: linear_map.mul_injective -> LinearMap.mul_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
letI : Nontrivial A := ⟨⟨x, 0, hx⟩⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -189,15 +189,9 @@ Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.lmu
A weaker version of this for non-unital non-associative algebras exists as `linear_map.mul`. -/
def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
- {
- mul R A with
- map_mul' := by
- intro a b
- ext c
- exact mul_assoc a b c
- map_zero' := by
- ext a
- exact MulZeroClass.zero_mul a }
+ { mul R A with
+ map_mul' := by intro a b; ext c; exact mul_assoc a b c
+ map_zero' := by ext a; exact MulZeroClass.zero_mul a }
#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmul
variable {R A}
@@ -213,9 +207,7 @@ theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R
/- warning: linear_map.commute_mul_left_right -> LinearMap.commute_mulLeft_right is a dubious translation:
<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_rightₓ'. -/
-theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) :=
- by
- ext c
+theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) := by ext c;
exact (mul_assoc a c b).symm
#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_right
@@ -223,9 +215,7 @@ theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) :
<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_mul LinearMap.mulLeft_mulₓ'. -/
@[simp]
-theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft R b) :=
- by
- ext
+theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft R b) := by ext;
simp only [mul_left_apply, comp_apply, mul_assoc]
#align linear_map.mul_left_mul LinearMap.mulLeft_mul
@@ -233,9 +223,7 @@ theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft
<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_mul LinearMap.mulRight_mulₓ'. -/
@[simp]
-theorem mulRight_mul (a b : A) : mulRight R (a * b) = (mulRight R b).comp (mulRight R a) :=
- by
- ext
+theorem mulRight_mul (a b : A) : mulRight R (a * b) = (mulRight R b).comp (mulRight R a) := by ext;
simp only [mul_right_apply, comp_apply, mul_assoc]
#align linear_map.mul_right_mul LinearMap.mulRight_mul
@@ -256,23 +244,11 @@ the algebra.
A weaker version of this for non-unital algebras exists as `non_unital_alg_hom.mul`. -/
def Algebra.lmul : A →ₐ[R] End R A :=
- {
- LinearMap.mul R
- A with
- map_one' := by
- ext a
- exact one_mul a
- map_mul' := by
- intro a b
- ext c
- exact mul_assoc a b c
- map_zero' := by
- ext a
- exact MulZeroClass.zero_mul a
- commutes' := by
- intro r
- ext a
- exact (Algebra.smul_def r a).symm }
+ { LinearMap.mul R A with
+ map_one' := by ext a; exact one_mul a
+ map_mul' := by intro a b; ext c; exact mul_assoc a b c
+ map_zero' := by ext a; exact MulZeroClass.zero_mul a
+ commutes' := by intro r; ext a; exact (Algebra.smul_def r a).symm }
#align algebra.lmul Algebra.lmul
variable {R A}
@@ -295,8 +271,7 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
by
constructor <;> intro h
· rw [← mul_one a, ← mul_left_apply a 1, h, LinearMap.zero_apply]
- · rw [h]
- exact mul_left_zero_eq_zero
+ · rw [h]; exact mul_left_zero_eq_zero
#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iff
/- warning: linear_map.mul_right_eq_zero_iff -> LinearMap.mulRight_eq_zero_iff is a dubious translation:
@@ -310,24 +285,19 @@ theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
by
constructor <;> intro h
· rw [← one_mul a, ← mul_right_apply a 1, h, LinearMap.zero_apply]
- · rw [h]
- exact mul_right_zero_eq_zero
+ · rw [h]; exact mul_right_zero_eq_zero
#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iff
#print LinearMap.mulLeft_one /-
@[simp]
-theorem mulLeft_one : mulLeft R (1 : A) = LinearMap.id :=
- by
- ext
+theorem mulLeft_one : mulLeft R (1 : A) = LinearMap.id := by ext;
simp only [LinearMap.id_coe, one_mul, id.def, mul_left_apply]
#align linear_map.mul_left_one LinearMap.mulLeft_one
-/
#print LinearMap.mulRight_one /-
@[simp]
-theorem mulRight_one : mulRight R (1 : A) = LinearMap.id :=
- by
- ext
+theorem mulRight_one : mulRight R (1 : A) = LinearMap.id := by ext;
simp only [LinearMap.id_coe, mul_one, id.def, mul_right_apply]
#align linear_map.mul_right_one LinearMap.mulRight_one
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -37,10 +37,7 @@ variable (R A : Type _) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R
[SMulCommClass R A A] [IsScalarTower R A A]
/- warning: linear_map.mul -> LinearMap.mul is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul LinearMap.mulₓ'. -/
/-- The multiplication in a non-unital non-associative algebra is a bilinear map.
@@ -96,10 +93,7 @@ def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
#align linear_map.mul_left_right LinearMap.mulLeftRight
/- warning: linear_map.mul_left_to_add_monoid_hom -> LinearMap.mulLeft_toAddMonoidHom is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
-but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHomₓ'. -/
@[simp]
theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
@@ -107,10 +101,7 @@ theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom
#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHom
/- warning: linear_map.mul_right_to_add_monoid_hom -> LinearMap.mulRight_toAddMonoidHom is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
-but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHomₓ'. -/
@[simp]
theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
@@ -120,10 +111,7 @@ theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidH
variable {R}
/- warning: linear_map.mul_apply' -> LinearMap.mul_apply' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply' LinearMap.mul_apply'ₓ'. -/
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
@@ -164,10 +152,7 @@ theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_apply
/- warning: linear_map.mul'_apply -> LinearMap.mul'_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) => (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul'_apply LinearMap.mul'_applyₓ'. -/
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
@@ -175,10 +160,7 @@ theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
#align linear_map.mul'_apply LinearMap.mul'_apply
/- warning: linear_map.mul_left_zero_eq_zero -> LinearMap.mulLeft_zero_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zeroₓ'. -/
@[simp]
theorem mulLeft_zero_eq_zero : mulLeft R (0 : A) = 0 :=
@@ -186,10 +168,7 @@ theorem mulLeft_zero_eq_zero : mulLeft R (0 : A) = 0 :=
#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zero
/- warning: linear_map.mul_right_zero_eq_zero -> LinearMap.mulRight_zero_eq_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_zero_eq_zero LinearMap.mulRight_zero_eq_zeroₓ'. -/
@[simp]
theorem mulRight_zero_eq_zero : mulRight R (0 : A) = 0 :=
@@ -204,10 +183,7 @@ variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMu
[IsScalarTower R A A]
/- warning: non_unital_alg_hom.lmul -> NonUnitalAlgHom.lmul is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-but is expected to have type
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))
+<too large>
Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmulₓ'. -/
/-- The multiplication in a non-unital algebra is a bilinear map.
@@ -227,10 +203,7 @@ def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
variable {R A}
/- warning: non_unital_alg_hom.coe_lmul_eq_mul -> NonUnitalAlgHom.coe_lmul_eq_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+<too large>
Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
@@ -238,10 +211,7 @@ theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R
#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mul
/- warning: linear_map.commute_mul_left_right -> LinearMap.commute_mulLeft_right is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Commute.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b)
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Commute.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_rightₓ'. -/
theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) :=
by
@@ -250,10 +220,7 @@ theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) :
#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_right
/- warning: linear_map.mul_left_mul -> LinearMap.mulLeft_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.right_ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_mul LinearMap.mulLeft_mulₓ'. -/
@[simp]
theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft R b) :=
@@ -263,10 +230,7 @@ theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft
#align linear_map.mul_left_mul LinearMap.mulLeft_mul
/- warning: linear_map.mul_right_mul -> LinearMap.mulRight_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.right_ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_mul LinearMap.mulRight_mulₓ'. -/
@[simp]
theorem mulRight_mul (a b : A) : mulRight R (a * b) = (mulRight R b).comp (mulRight R a) :=
@@ -420,10 +384,7 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
#align linear_map.mul_right_injective LinearMap.mulRight_injective
/- warning: linear_map.mul_injective -> LinearMap.mul_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -123,7 +123,7 @@ variable {R}
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply' LinearMap.mul_apply'ₓ'. -/
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
@@ -134,7 +134,7 @@ theorem mul_apply' (a b : A) : mul R A a b = a * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_apply LinearMap.mulLeft_applyₓ'. -/
@[simp]
theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
@@ -145,7 +145,7 @@ theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) b a)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_apply LinearMap.mulRight_applyₓ'. -/
@[simp]
theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
@@ -156,7 +156,7 @@ theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a x) b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_applyₓ'. -/
@[simp]
theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
@@ -167,7 +167,7 @@ theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) => (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul'_apply LinearMap.mul'_applyₓ'. -/
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
@@ -230,7 +230,7 @@ variable {R A}
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
@@ -395,7 +395,7 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
@@ -409,7 +409,7 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
@@ -423,7 +423,7 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -99,7 +99,7 @@ def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
lean 3 declaration is
forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHomₓ'. -/
@[simp]
theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
@@ -110,7 +110,7 @@ theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom
lean 3 declaration is
forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
but is expected to have type
- forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHomₓ'. -/
@[simp]
theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
@@ -123,7 +123,7 @@ variable {R}
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply' LinearMap.mul_apply'ₓ'. -/
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
@@ -134,7 +134,7 @@ theorem mul_apply' (a b : A) : mul R A a b = a * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_apply LinearMap.mulLeft_applyₓ'. -/
@[simp]
theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
@@ -145,7 +145,7 @@ theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) b a)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_apply LinearMap.mulRight_applyₓ'. -/
@[simp]
theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
@@ -156,7 +156,7 @@ theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a x) b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_applyₓ'. -/
@[simp]
theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
@@ -167,7 +167,7 @@ theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) => (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul'_apply LinearMap.mul'_applyₓ'. -/
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
@@ -230,7 +230,7 @@ variable {R A}
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
@@ -395,7 +395,7 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
@@ -409,7 +409,7 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
@@ -423,7 +423,7 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -395,7 +395,7 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
@@ -409,7 +409,7 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
@@ -423,7 +423,7 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/36b8aa61ea7c05727161f96a0532897bd72aedab
@@ -320,7 +320,12 @@ theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
-/
-#print LinearMap.mulLeft_eq_zero_iff /-
+/- warning: linear_map.mul_left_eq_zero_iff -> LinearMap.mulLeft_eq_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iffₓ'. -/
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
by
@@ -329,9 +334,13 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
· rw [h]
exact mul_left_zero_eq_zero
#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iff
--/
-#print LinearMap.mulRight_eq_zero_iff /-
+/- warning: linear_map.mul_right_eq_zero_iff -> LinearMap.mulRight_eq_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iffₓ'. -/
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
by
@@ -340,7 +349,6 @@ theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
· rw [h]
exact mul_right_zero_eq_zero
#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iff
--/
#print LinearMap.mulLeft_one /-
@[simp]
@@ -385,9 +393,9 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
/- warning: linear_map.mul_left_injective -> LinearMap.mulLeft_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_sMulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
@@ -399,9 +407,9 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
/- warning: linear_map.mul_right_injective -> LinearMap.mulRight_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_sMulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
@@ -413,9 +421,9 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
/- warning: linear_map.mul_injective -> LinearMap.mul_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_sMulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.to_smulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/36b8aa61ea7c05727161f96a0532897bd72aedab
@@ -320,12 +320,7 @@ theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
-/
-/- warning: linear_map.mul_left_eq_zero_iff -> LinearMap.mulLeft_eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iffₓ'. -/
+#print LinearMap.mulLeft_eq_zero_iff /-
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
by
@@ -334,13 +329,9 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
· rw [h]
exact mul_left_zero_eq_zero
#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iff
+-/
-/- warning: linear_map.mul_right_eq_zero_iff -> LinearMap.mulRight_eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
-but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iffₓ'. -/
+#print LinearMap.mulRight_eq_zero_iff /-
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
by
@@ -349,6 +340,7 @@ theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
· rw [h]
exact mul_right_zero_eq_zero
#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iff
+-/
#print LinearMap.mulLeft_one /-
@[simp]
@@ -393,7 +385,7 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
/- warning: linear_map.mul_left_injective -> LinearMap.mulLeft_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_sMulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
@@ -407,7 +399,7 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
/- warning: linear_map.mul_right_injective -> LinearMap.mulRight_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_sMulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
@@ -421,7 +413,7 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
/- warning: linear_map.mul_injective -> LinearMap.mul_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.to_sMulCommClass.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/2651125b48fc5c170ab1111afd0817c903b1fc6c
@@ -203,16 +203,16 @@ section NonUnital
variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A]
[IsScalarTower R A A]
-/- warning: non_unital_alg_hom.lmul -> LinearMap.NonUnitalAlgHom.lmul is a dubious translation:
+/- warning: non_unital_alg_hom.lmul -> NonUnitalAlgHom.lmul is a dubious translation:
lean 3 declaration is
- forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))
but is expected to have type
forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))
-Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.lmul LinearMap.NonUnitalAlgHom.lmulₓ'. -/
+Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmulₓ'. -/
/-- The multiplication in a non-unital algebra is a bilinear map.
A weaker version of this for non-unital non-associative algebras exists as `linear_map.mul`. -/
-def LinearMap.NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
+def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
{
mul R A with
map_mul' := by
@@ -222,21 +222,20 @@ def LinearMap.NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
map_zero' := by
ext a
exact MulZeroClass.zero_mul a }
-#align non_unital_alg_hom.lmul LinearMap.NonUnitalAlgHom.lmul
+#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmul
variable {R A}
-/- warning: non_unital_alg_hom.coe_lmul_eq_mul -> LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul is a dubious translation:
+/- warning: non_unital_alg_hom.coe_lmul_eq_mul -> NonUnitalAlgHom.coe_lmul_eq_mul is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
-Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul LinearMap.NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
-theorem LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul :
- ⇑(LinearMap.NonUnitalAlgHom.lmul R A) = mul R A :=
+theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
rfl
-#align non_unital_alg_hom.coe_lmul_eq_mul LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul
+#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mul
/- warning: linear_map.commute_mul_left_right -> LinearMap.commute_mulLeft_right is a dubious translation:
lean 3 declaration is
@@ -282,17 +281,17 @@ section Semiring
variable (R A : Type _) [CommSemiring R] [Semiring A] [Algebra R A]
-/- warning: algebra.lmul -> LinearMap.Algebra.lmul is a dubious translation:
+/- warning: algebra.lmul -> Algebra.lmul is a dubious translation:
lean 3 declaration is
forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2], AlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_3 (Module.End.algebra.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
but is expected to have type
forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2], AlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_3 (Module.instAlgebraEndToSemiringSemiring.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align algebra.lmul LinearMap.Algebra.lmulₓ'. -/
+Case conversion may be inaccurate. Consider using '#align algebra.lmul Algebra.lmulₓ'. -/
/-- The multiplication in an algebra is an algebra homomorphism into the endomorphisms on
the algebra.
A weaker version of this for non-unital algebras exists as `non_unital_alg_hom.mul`. -/
-def LinearMap.Algebra.lmul : A →ₐ[R] End R A :=
+def Algebra.lmul : A →ₐ[R] End R A :=
{
LinearMap.mul R
A with
@@ -310,15 +309,15 @@ def LinearMap.Algebra.lmul : A →ₐ[R] End R A :=
intro r
ext a
exact (Algebra.smul_def r a).symm }
-#align algebra.lmul LinearMap.Algebra.lmul
+#align algebra.lmul Algebra.lmul
variable {R A}
-#print LinearMap.Algebra.coe_lmul_eq_mul /-
+#print Algebra.coe_lmul_eq_mul /-
@[simp]
-theorem LinearMap.Algebra.coe_lmul_eq_mul : ⇑(LinearMap.Algebra.lmul R A) = mul R A :=
+theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
rfl
-#align algebra.coe_lmul_eq_mul LinearMap.Algebra.coe_lmul_eq_mul
+#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
-/
/- warning: linear_map.mul_left_eq_zero_iff -> LinearMap.mulLeft_eq_zero_iff is a dubious translation:
@@ -372,8 +371,7 @@ theorem mulRight_one : mulRight R (1 : A) = LinearMap.id :=
#print LinearMap.pow_mulLeft /-
@[simp]
theorem pow_mulLeft (a : A) (n : ℕ) : mulLeft R a ^ n = mulLeft R (a ^ n) := by
- simpa only [mul_left, ← LinearMap.Algebra.coe_lmul_eq_mul] using
- ((LinearMap.Algebra.lmul R A).map_pow a n).symm
+ simpa only [mul_left, ← Algebra.coe_lmul_eq_mul] using ((Algebra.lmul R A).map_pow a n).symm
#align linear_map.pow_mul_left LinearMap.pow_mulLeft
-/
@@ -381,7 +379,7 @@ theorem pow_mulLeft (a : A) (n : ℕ) : mulLeft R a ^ n = mulLeft R (a ^ n) := b
@[simp]
theorem pow_mulRight (a : A) (n : ℕ) : mulRight R a ^ n = mulRight R (a ^ n) :=
by
- simp only [mul_right, ← LinearMap.Algebra.coe_lmul_eq_mul]
+ simp only [mul_right, ← Algebra.coe_lmul_eq_mul]
exact
LinearMap.coe_injective (((mul_right R a).val_pow_eq_pow_val n).symm ▸ mul_right_iterate a n)
#align linear_map.pow_mul_right LinearMap.pow_mulRight
mathlib commit https://github.com/leanprover-community/mathlib/commit/730c6d4cab72b9d84fcfb9e95e8796e9cd8f40ba
@@ -95,27 +95,27 @@ def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
(mulRight R ab.snd).comp (mulLeft R ab.fst)
#align linear_map.mul_left_right LinearMap.mulLeftRight
-/- warning: linear_map.mul_left_to_add_monoid_hom -> LinearMap.mulLeft_toAddMonoid_hom is a dubious translation:
+/- warning: linear_map.mul_left_to_add_monoid_hom -> LinearMap.mulLeft_toAddMonoidHom is a dubious translation:
lean 3 declaration is
forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
but is expected to have type
forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoid_homₓ'. -/
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHomₓ'. -/
@[simp]
-theorem mulLeft_toAddMonoid_hom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
+theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
rfl
-#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoid_hom
+#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHom
-/- warning: linear_map.mul_right_to_add_monoid_hom -> LinearMap.mulRight_toAddMonoid_hom is a dubious translation:
+/- warning: linear_map.mul_right_to_add_monoid_hom -> LinearMap.mulRight_toAddMonoidHom is a dubious translation:
lean 3 declaration is
forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
but is expected to have type
forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoid_homₓ'. -/
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHomₓ'. -/
@[simp]
-theorem mulRight_toAddMonoid_hom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
+theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
rfl
-#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoid_hom
+#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHom
variable {R}
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -123,7 +123,7 @@ variable {R}
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply' LinearMap.mul_apply'ₓ'. -/
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
@@ -134,7 +134,7 @@ theorem mul_apply' (a b : A) : mul R A a b = a * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_apply LinearMap.mulLeft_applyₓ'. -/
@[simp]
theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
@@ -145,7 +145,7 @@ theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) b a)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_apply LinearMap.mulRight_applyₓ'. -/
@[simp]
theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
@@ -156,7 +156,7 @@ theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a x) b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_applyₓ'. -/
@[simp]
theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
@@ -167,7 +167,7 @@ theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) => (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
Case conversion may be inaccurate. Consider using '#align linear_map.mul'_apply LinearMap.mul'_applyₓ'. -/
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
@@ -230,7 +230,7 @@ variable {R A}
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1410 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1410 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1412 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul LinearMap.NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
theorem LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul :
@@ -397,7 +397,7 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
@@ -411,7 +411,7 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
@@ -425,7 +425,7 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
lean 3 declaration is
forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -221,7 +221,7 @@ def LinearMap.NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
exact mul_assoc a b c
map_zero' := by
ext a
- exact zero_mul a }
+ exact MulZeroClass.zero_mul a }
#align non_unital_alg_hom.lmul LinearMap.NonUnitalAlgHom.lmul
variable {R A}
@@ -305,7 +305,7 @@ def LinearMap.Algebra.lmul : A →ₐ[R] End R A :=
exact mul_assoc a b c
map_zero' := by
ext a
- exact zero_mul a
+ exact MulZeroClass.zero_mul a
commutes' := by
intro r
ext a
mathlib commit https://github.com/leanprover-community/mathlib/commit/62e8311c791f02c47451bf14aa2501048e7c2f33
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
! This file was ported from Lean 3 source module algebra.algebra.bilinear
-! leanprover-community/mathlib commit 657df4339ae6ceada048c8a2980fb10e393143ec
+! leanprover-community/mathlib commit 832f7b9162039c28b9361289c8681f155cae758f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -16,6 +16,9 @@ import Mathbin.LinearAlgebra.TensorProduct
/-!
# Facts about algebras involving bilinear maps and tensor products
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
We move a few basic statements about algebras out of `algebra.algebra.basic`,
in order to avoid importing `linear_algebra.bilinear_map` and
`linear_algebra.tensor_product` unnecessarily.
mathlib commit https://github.com/leanprover-community/mathlib/commit/195fcd60ff2bfe392543bceb0ec2adcdb472db4c
@@ -320,9 +320,9 @@ theorem LinearMap.Algebra.coe_lmul_eq_mul : ⇑(LinearMap.Algebra.lmul R A) = mu
/- warning: linear_map.mul_left_eq_zero_iff -> LinearMap.mulLeft_eq_zero_iff is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iffₓ'. -/
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
@@ -335,9 +335,9 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
/- warning: linear_map.mul_right_eq_zero_iff -> LinearMap.mulRight_eq_zero_iff is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iffₓ'. -/
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
@@ -392,9 +392,9 @@ variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
/- warning: linear_map.mul_left_injective -> LinearMap.mulLeft_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
@@ -406,9 +406,9 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
/- warning: linear_map.mul_right_injective -> LinearMap.mulRight_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
@@ -420,9 +420,9 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
/- warning: linear_map.mul_injective -> LinearMap.mul_injective is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
but is expected to have type
- forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_smulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -33,6 +33,12 @@ section NonUnitalNonAssoc
variable (R A : Type _) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
[SMulCommClass R A A] [IsScalarTower R A A]
+/- warning: linear_map.mul -> LinearMap.mul is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+but is expected to have type
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul LinearMap.mulₓ'. -/
/-- The multiplication in a non-unital non-associative algebra is a bilinear map.
A weaker version of this for semirings exists as `add_monoid_hom.mul`. -/
@@ -40,6 +46,12 @@ def mul : A →ₗ[R] A →ₗ[R] A :=
LinearMap.mk₂ R (· * ·) add_mul smul_mul_assoc mul_add mul_smul_comm
#align linear_map.mul LinearMap.mul
+/- warning: linear_map.mul' -> LinearMap.mul' is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3
+but is expected to have type
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3
+Case conversion may be inaccurate. Consider using '#align linear_map.mul' LinearMap.mul'ₓ'. -/
/-- The multiplication map on a non-unital algebra, as an `R`-linear map from `A ⊗[R] A` to `A`. -/
def mul' : A ⊗[R] A →ₗ[R] A :=
TensorProduct.lift (mul R A)
@@ -47,26 +59,56 @@ def mul' : A ⊗[R] A →ₗ[R] A :=
variable {A}
+/- warning: linear_map.mul_left -> LinearMap.mulLeft is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
+but is expected to have type
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left LinearMap.mulLeftₓ'. -/
/-- The multiplication on the left in a non-unital algebra is a linear map. -/
def mulLeft (a : A) : A →ₗ[R] A :=
mul R A a
#align linear_map.mul_left LinearMap.mulLeft
+/- warning: linear_map.mul_right -> LinearMap.mulRight is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
+but is expected to have type
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right LinearMap.mulRightₓ'. -/
/-- The multiplication on the right in an algebra is a linear map. -/
def mulRight (a : A) : A →ₗ[R] A :=
(mul R A).flip a
#align linear_map.mul_right LinearMap.mulRight
+/- warning: linear_map.mul_left_right -> LinearMap.mulLeftRight is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], (Prod.{u2, u2} A A) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
+but is expected to have type
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], (Prod.{u2, u2} A A) -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right LinearMap.mulLeftRightₓ'. -/
/-- Simultaneous multiplication on the left and right is a linear map. -/
def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
(mulRight R ab.snd).comp (mulLeft R ab.fst)
#align linear_map.mul_left_right LinearMap.mulLeftRight
+/- warning: linear_map.mul_left_to_add_monoid_hom -> LinearMap.mulLeft_toAddMonoid_hom is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
+but is expected to have type
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulLeft.{u2} A _inst_2 a)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoid_homₓ'. -/
@[simp]
theorem mulLeft_toAddMonoid_hom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
rfl
#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoid_hom
+/- warning: linear_map.mul_right_to_add_monoid_hom -> LinearMap.mulRight_toAddMonoid_hom is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (HasLiftT.mk.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (CoeTCₓ.coe.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHom.hasCoeT.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (SemilinearMapClass.addMonoidHomClass.{u1, u1, u2, u2, u2} R R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
+but is expected to have type
+ forall (R : Type.{u1}) {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A), Eq.{succ u2} (AddMonoidHom.{u2, u2} A A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (AddMonoidHomClass.toAddMonoidHom.{u2, u2, u2} A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2))) (DistribMulActionHomClass.toAddMonoidHomClass.{u2, u1, u2, u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) R A A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u2, u2} R A A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a)) (AddMonoidHom.mulRight.{u2} A _inst_2 a)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoid_homₓ'. -/
@[simp]
theorem mulRight_toAddMonoid_hom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
rfl
@@ -74,36 +116,78 @@ theorem mulRight_toAddMonoid_hom (a : A) : (mulRight R a : A →+ A) = AddMonoid
variable {R}
+/- warning: linear_map.mul_apply' -> LinearMap.mul_apply' is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) a) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply' LinearMap.mul_apply'ₓ'. -/
@[simp]
theorem mul_apply' (a b : A) : mul R A a b = a * b :=
rfl
#align linear_map.mul_apply' LinearMap.mul_apply'
+/- warning: linear_map.mul_left_apply -> LinearMap.mulLeft_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_apply LinearMap.mulLeft_applyₓ'. -/
@[simp]
theorem mulLeft_apply (a b : A) : mulLeft R a b = a * b :=
rfl
#align linear_map.mul_left_apply LinearMap.mulLeft_apply
+/- warning: linear_map.mul_right_apply -> LinearMap.mulRight_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) b a)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) b) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 a) b) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) b a)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_apply LinearMap.mulRight_applyₓ'. -/
@[simp]
theorem mulRight_apply (a b : A) : mulRight R a b = b * a :=
rfl
#align linear_map.mul_right_apply LinearMap.mulRight_apply
+/- warning: linear_map.mul_left_right_apply -> LinearMap.mulLeftRight_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a x) b)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] (a : A) (b : A) (x : A), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeftRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (Prod.mk.{u2, u2} A A a b)) x) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a x) b)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_applyₓ'. -/
@[simp]
theorem mulLeftRight_apply (a b x : A) : mulLeftRight R (a, b) x = a * x * b :=
rfl
#align linear_map.mul_left_right_apply LinearMap.mulLeftRight_apply
+/- warning: linear_map.mul'_apply -> LinearMap.mul'_apply is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) => (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.module.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) a b)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))] {a : A} {b : A}, Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3) (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (fun (_x : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R (TensorProduct.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul'.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5) (TensorProduct.tmul.{u1, u2, u2} R _inst_1 A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 a b)) (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A _inst_2)) a b)
+Case conversion may be inaccurate. Consider using '#align linear_map.mul'_apply LinearMap.mul'_applyₓ'. -/
@[simp]
theorem mul'_apply {a b : A} : mul' R A (a ⊗ₜ b) = a * b :=
rfl
#align linear_map.mul'_apply LinearMap.mul'_apply
+/- warning: linear_map.mul_left_zero_eq_zero -> LinearMap.mulLeft_zero_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zeroₓ'. -/
@[simp]
theorem mulLeft_zero_eq_zero : mulLeft R (0 : A) = 0 :=
(mul R A).map_zero
#align linear_map.mul_left_zero_eq_zero LinearMap.mulLeft_zero_eq_zero
+/- warning: linear_map.mul_right_zero_eq_zero -> LinearMap.mulRight_zero_eq_zero is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2)))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A _inst_2))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalNonAssocSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2)] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)))) (SMulZeroClass.toSMul.{u1, u2} R A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3))))], Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A _inst_2))))) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_zero_eq_zero LinearMap.mulRight_zero_eq_zeroₓ'. -/
@[simp]
theorem mulRight_zero_eq_zero : mulRight R (0 : A) = 0 :=
(mul R A).flip.map_zero
@@ -116,10 +200,16 @@ section NonUnital
variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A]
[IsScalarTower R A A]
+/- warning: non_unital_alg_hom.lmul -> LinearMap.NonUnitalAlgHom.lmul is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+but is expected to have type
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))
+Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.lmul LinearMap.NonUnitalAlgHom.lmulₓ'. -/
/-- The multiplication in a non-unital algebra is a bilinear map.
A weaker version of this for non-unital non-associative algebras exists as `linear_map.mul`. -/
-def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
+def LinearMap.NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
{
mul R A with
map_mul' := by
@@ -129,21 +219,40 @@ def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
map_zero' := by
ext a
exact zero_mul a }
-#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmul
+#align non_unital_alg_hom.lmul LinearMap.NonUnitalAlgHom.lmul
variable {R A}
+/- warning: non_unital_alg_hom.coe_lmul_eq_mul -> LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (coeFn.{succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => A -> (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)) (NonUnitalAlgHom.hasCoeToFun.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.distribMulAction.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.NonUnitalAlgHom.lmul._proof_1.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3)) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))], Eq.{succ u2} (forall (ᾰ : A), (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1410 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (NonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.NonUnitalAlg._hyg.1410 : A) => Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) _x) (NonUnitalAlgHom.instFunLikeNonUnitalAlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))) (LinearMap.instDistribMulActionLinearMapToAddMonoidAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) (LinearMap.NonUnitalAlgHom.lmul.{u1, u2} R A _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_3 (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5))
+Case conversion may be inaccurate. Consider using '#align non_unital_alg_hom.coe_lmul_eq_mul LinearMap.NonUnitalAlgHom.coe_lmul_eq_mulₓ'. -/
@[simp]
-theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
+theorem LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul :
+ ⇑(LinearMap.NonUnitalAlgHom.lmul R A) = mul R A :=
rfl
-#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mul
-
+#align non_unital_alg_hom.coe_lmul_eq_mul LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul
+
+/- warning: linear_map.commute_mul_left_right -> LinearMap.commute_mulLeft_right is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Commute.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.module.End.hasMul.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b)
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Commute.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.instMulEnd.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b)
+Case conversion may be inaccurate. Consider using '#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_rightₓ'. -/
theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) :=
by
ext c
exact (mul_assoc a c b).symm
#align linear_map.commute_mul_left_right LinearMap.commute_mulLeft_right
+/- warning: linear_map.mul_left_mul -> LinearMap.mulLeft_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.right_ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_mul LinearMap.mulLeft_mulₓ'. -/
@[simp]
theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft R b) :=
by
@@ -151,6 +260,12 @@ theorem mulLeft_mul (a b : A) : mulLeft R (a * b) = (mulLeft R a).comp (mulLeft
simp only [mul_left_apply, comp_apply, mul_assoc]
#align linear_map.mul_left_mul LinearMap.mulLeft_mul
+/- warning: linear_map.mul_right_mul -> LinearMap.mulRight_mul is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) (SMulZeroClass.toHasSmul.{u1, u2} R A (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.right_ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : NonUnitalSemiring.{u2} A] [_inst_3 : Module.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))] [_inst_4 : SMulCommClass.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)))))] [_inst_5 : IsScalarTower.{u1, u2, u2} R A A (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3)))) (SMulZeroClass.toSMul.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))))) (SMulZeroClass.toSMul.{u1, u2} R A (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R A (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toZero.{u2} A (NonUnitalSemiring.toSemigroupWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3))))] (a : A) (b : A), Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 (HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2))) a b)) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R A A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2)) _inst_3 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 b) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u2} A _inst_2) _inst_3 _inst_4 _inst_5 a))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_mul LinearMap.mulRight_mulₓ'. -/
@[simp]
theorem mulRight_mul (a b : A) : mulRight R (a * b) = (mulRight R b).comp (mulRight R a) :=
by
@@ -164,11 +279,17 @@ section Semiring
variable (R A : Type _) [CommSemiring R] [Semiring A] [Algebra R A]
+/- warning: algebra.lmul -> LinearMap.Algebra.lmul is a dubious translation:
+lean 3 declaration is
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2], AlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_3 (Module.End.algebra.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+but is expected to have type
+ forall (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2], AlgHom.{u1, u2, u2} R A (Module.End.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_2 (Module.End.semiring.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _inst_3 (Module.instAlgebraEndToSemiringSemiring.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align algebra.lmul LinearMap.Algebra.lmulₓ'. -/
/-- The multiplication in an algebra is an algebra homomorphism into the endomorphisms on
the algebra.
A weaker version of this for non-unital algebras exists as `non_unital_alg_hom.mul`. -/
-def Algebra.lmul : A →ₐ[R] End R A :=
+def LinearMap.Algebra.lmul : A →ₐ[R] End R A :=
{
LinearMap.mul R
A with
@@ -186,15 +307,23 @@ def Algebra.lmul : A →ₐ[R] End R A :=
intro r
ext a
exact (Algebra.smul_def r a).symm }
-#align algebra.lmul Algebra.lmul
+#align algebra.lmul LinearMap.Algebra.lmul
variable {R A}
+#print LinearMap.Algebra.coe_lmul_eq_mul /-
@[simp]
-theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
+theorem LinearMap.Algebra.coe_lmul_eq_mul : ⇑(LinearMap.Algebra.lmul R A) = mul R A :=
rfl
-#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
+#align algebra.coe_lmul_eq_mul LinearMap.Algebra.coe_lmul_eq_mul
+-/
+/- warning: linear_map.mul_left_eq_zero_iff -> LinearMap.mulLeft_eq_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iffₓ'. -/
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
by
@@ -204,6 +333,12 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 :=
exact mul_left_zero_eq_zero
#align linear_map.mul_left_eq_zero_iff LinearMap.mulLeft_eq_zero_iff
+/- warning: linear_map.mul_right_eq_zero_iff -> LinearMap.mulRight_eq_zero_iff is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (OfNat.mk.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.zero.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.hasZero.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (a : A), Iff (Eq.{succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A _inst_2 _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Semiring.toModule.{u2} A _inst_2) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 _inst_2 _inst_3) a) (OfNat.ofNat.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) 0 (Zero.toOfNat0.{u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (LinearMap.instZeroLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Eq.{succ u2} A a (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iffₓ'. -/
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
by
@@ -213,32 +348,41 @@ theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 :=
exact mul_right_zero_eq_zero
#align linear_map.mul_right_eq_zero_iff LinearMap.mulRight_eq_zero_iff
+#print LinearMap.mulLeft_one /-
@[simp]
theorem mulLeft_one : mulLeft R (1 : A) = LinearMap.id :=
by
ext
simp only [LinearMap.id_coe, one_mul, id.def, mul_left_apply]
#align linear_map.mul_left_one LinearMap.mulLeft_one
+-/
+#print LinearMap.mulRight_one /-
@[simp]
theorem mulRight_one : mulRight R (1 : A) = LinearMap.id :=
by
ext
simp only [LinearMap.id_coe, mul_one, id.def, mul_right_apply]
#align linear_map.mul_right_one LinearMap.mulRight_one
+-/
+#print LinearMap.pow_mulLeft /-
@[simp]
theorem pow_mulLeft (a : A) (n : ℕ) : mulLeft R a ^ n = mulLeft R (a ^ n) := by
- simpa only [mul_left, ← Algebra.coe_lmul_eq_mul] using ((Algebra.lmul R A).map_pow a n).symm
+ simpa only [mul_left, ← LinearMap.Algebra.coe_lmul_eq_mul] using
+ ((LinearMap.Algebra.lmul R A).map_pow a n).symm
#align linear_map.pow_mul_left LinearMap.pow_mulLeft
+-/
+#print LinearMap.pow_mulRight /-
@[simp]
theorem pow_mulRight (a : A) (n : ℕ) : mulRight R a ^ n = mulRight R (a ^ n) :=
by
- simp only [mul_right, ← Algebra.coe_lmul_eq_mul]
+ simp only [mul_right, ← LinearMap.Algebra.coe_lmul_eq_mul]
exact
LinearMap.coe_injective (((mul_right R a).val_pow_eq_pow_val n).symm ▸ mul_right_iterate a n)
#align linear_map.pow_mul_right LinearMap.pow_mulRight
+-/
end Semiring
@@ -246,6 +390,12 @@ section Ring
variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
+/- warning: linear_map.mul_left_injective -> LinearMap.mulLeft_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulLeft.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_left_injective LinearMap.mulLeft_injectiveₓ'. -/
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) :=
by
@@ -254,6 +404,12 @@ theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
exact mul_right_injective₀ hx
#align linear_map.mul_left_injective LinearMap.mulLeft_injective
+/- warning: linear_map.mul_right_injective -> LinearMap.mulRight_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mulRight.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) x)))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_right_injective LinearMap.mulRight_injectiveₓ'. -/
theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulRight R x) :=
by
@@ -262,6 +418,12 @@ theorem mulRight_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
exact mul_left_injective₀ hx
#align linear_map.mul_right_injective LinearMap.mulRight_injective
+/- warning: linear_map.mul_injective -> LinearMap.mul_injective is a dubious translation:
+lean 3 declaration is
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (Distrib.toHasMul.{u2} A (Ring.toDistrib.{u2} A _inst_2)) (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))))))) -> (Function.Injective.{succ u2, succ u2} A A (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) => A -> A) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) (fun (_x : LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)))) => A -> (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.module.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (LinearMap.mul._proof_1.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (AddCommGroup.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toAddCommGroup.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (Semiring.toModule.{u2} A (Ring.toSemiring.{u2} A _inst_2)) (Algebra.toModule.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+but is expected to have type
+ forall {R : Type.{u1}} {A : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Ring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2)] [_inst_4 : NoZeroDivisors.{u2} A (NonUnitalNonAssocRing.toMul.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))] {x : A}, (Ne.{succ u2} A x (OfNat.ofNat.{u2} A 0 (Zero.toOfNat0.{u2} A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A (Ring.toSemiring.{u2} A _inst_2)))))) -> (Function.Injective.{succ u2, succ u2} A A (FunLike.coe.{succ u2, succ u2, succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) x) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : A) => LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R A (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.addCommMonoid.{u1, u1, u2, u2} R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, u2, u2} R R R A A (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (LinearMap.mul.{u1, u2} R A _inst_1 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.to_sMulCommClass.{u1, u2, u2} R _inst_1 A (Ring.toSemiring.{u2} A _inst_2) _inst_3 A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} A (NonAssocRing.toNonUnitalNonAssocRing.{u2} A (Ring.toNonAssocRing.{u2} A _inst_2)))) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing_1.{u2} A _inst_2) (LinearMap.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing.{u1, u2} R A _inst_1 _inst_2 _inst_3) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) (IsScalarTower.right.{u1, u2} R A _inst_1 (Ring.toSemiring.{u2} A _inst_2) _inst_3)) x)))
+Case conversion may be inaccurate. Consider using '#align linear_map.mul_injective LinearMap.mul_injectiveₓ'. -/
theorem mul_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) : Function.Injective (mul R A x) :=
by
letI : Nontrivial A := ⟨⟨x, 0, hx⟩⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Splits Algebra.Algebra.Defs
off Algebra.Algebra.Basic
. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Algebra.Basic
is now a grab-bag of unrelated results, and should probably be split further or rehomed.
This is mostly motivated by the wasted effort during minimization upon encountering Algebra.Algebra.Basic.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>
@@ -3,7 +3,7 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-/
-import Mathlib.Algebra.Algebra.Basic
+import Mathlib.Algebra.Algebra.Defs
import Mathlib.Algebra.Algebra.NonUnitalHom
import Mathlib.Algebra.GroupPower.IterateHom
import Mathlib.LinearAlgebra.TensorProduct.Basic
These are changes from #11997, the latest adaptation PR for nightly-2024-04-07, which can be made directly on master.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>
@@ -223,13 +223,13 @@ theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 := by
@[simp]
theorem mulLeft_one : mulLeft R (1 : A) = LinearMap.id := by
ext
- simp only [LinearMap.id_coe, one_mul, id.def, mulLeft_apply]
+ simp
#align linear_map.mul_left_one LinearMap.mulLeft_one
@[simp]
theorem mulRight_one : mulRight R (1 : A) = LinearMap.id := by
ext
- simp only [LinearMap.id_coe, mul_one, id.def, mulRight_apply]
+ simp
#align linear_map.mul_right_one LinearMap.mulRight_one
@[simp]
@@ -22,26 +22,6 @@ open TensorProduct Module
namespace LinearMap
-section RestrictScalars
-
-variable
- (R : Type*) {A M N P : Type*}
- [CommSemiring R] [CommSemiring A]
- [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P]
- [Algebra R A]
- [Module R M] [Module R N] [Module R P]
- [Module A M] [Module A N] [Module A P]
- [IsScalarTower R A M] [IsScalarTower R A N] [IsScalarTower R A P]
-
-/-- A version of `LinearMap.restrictScalars` for bilinear maps.
-
-The double subscript in the name is to match `LinearMap.compl₁₂`. -/
-@[simps!]
-def restrictScalars₁₂ (f : M →ₗ[A] N →ₗ[A] P) : M →ₗ[R] N →ₗ[R] P :=
- (f.flip.restrictScalars _).flip.restrictScalars _
-
-end RestrictScalars
-
section NonUnitalNonAssoc
variable (R A : Type*) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
Move:
Mathlib/Algebra/Module/DirectLimitAndTensorProduct.lean
to
LinearAlgebra/TensorProduct/DirectLimit.lean
Mathlib/LinearAlgebra/TensorProduct
to Mathlib/LinearAlgebra.TensorProduct.Basic.lean
Mathlib/RingTheory/TensorProduct
to Mathlib/RingTheory/TensorProduct/Basic.lean
.This follows suggestions 1, 2, 3 of
Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>
@@ -6,7 +6,7 @@ Authors: Kenny Lau, Yury Kudryashov
import Mathlib.Algebra.Algebra.Basic
import Mathlib.Algebra.Algebra.NonUnitalHom
import Mathlib.Algebra.GroupPower.IterateHom
-import Mathlib.LinearAlgebra.TensorProduct
+import Mathlib.LinearAlgebra.TensorProduct.Basic
#align_import algebra.algebra.bilinear from "leanprover-community/mathlib"@"657df4339ae6ceada048c8a2980fb10e393143ec"
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -225,7 +225,7 @@ theorem _root_.Algebra.lmul_isUnit_iff {x : A} :
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 := by
constructor <;> intro h
- -- porting note: had to supply `R` explicitly in `@mulLeft_apply` below
+ -- Porting note: had to supply `R` explicitly in `@mulLeft_apply` below
· rw [← mul_one a, ← @mulLeft_apply R _ _ _ _ _ _ a 1, h, LinearMap.zero_apply]
· rw [h]
exact mulLeft_zero_eq_zero
@@ -234,7 +234,7 @@ theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 := by
@[simp]
theorem mulRight_eq_zero_iff (a : A) : mulRight R a = 0 ↔ a = 0 := by
constructor <;> intro h
- -- porting note: had to supply `R` explicitly in `@mulRight_apply` below
+ -- Porting note: had to supply `R` explicitly in `@mulRight_apply` below
· rw [← one_mul a, ← @mulRight_apply R _ _ _ _ _ _ a 1, h, LinearMap.zero_apply]
· rw [h]
exact mulRight_zero_eq_zero
@@ -22,6 +22,26 @@ open TensorProduct Module
namespace LinearMap
+section RestrictScalars
+
+variable
+ (R : Type*) {A M N P : Type*}
+ [CommSemiring R] [CommSemiring A]
+ [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P]
+ [Algebra R A]
+ [Module R M] [Module R N] [Module R P]
+ [Module A M] [Module A N] [Module A P]
+ [IsScalarTower R A M] [IsScalarTower R A N] [IsScalarTower R A P]
+
+/-- A version of `LinearMap.restrictScalars` for bilinear maps.
+
+The double subscript in the name is to match `LinearMap.compl₁₂`. -/
+@[simps!]
+def restrictScalars₁₂ (f : M →ₗ[A] N →ₗ[A] P) : M →ₗ[R] N →ₗ[R] P :=
+ (f.flip.restrictScalars _).flip.restrictScalars _
+
+end RestrictScalars
+
section NonUnitalNonAssoc
variable (R A : Type*) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
@@ -4,7 +4,6 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-/
import Mathlib.Algebra.Algebra.Basic
-import Mathlib.Algebra.Algebra.Equiv
import Mathlib.Algebra.Algebra.NonUnitalHom
import Mathlib.Algebra.GroupPower.IterateHom
import Mathlib.LinearAlgebra.TensorProduct
FunLike
to DFunLike
(#9785)
This prepares for the introduction of a non-dependent synonym of FunLike, which helps a lot with keeping #8386 readable.
This is entirely search-and-replace in 680197f combined with manual fixes in 4145626, e900597 and b8428f8. The commands that generated this change:
sed -i 's/\bFunLike\b/DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoFunLike\b/toDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/import Mathlib.Data.DFunLike/import Mathlib.Data.FunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bHom_FunLike\b/Hom_DFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\binstFunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\bfunLike\b/instDFunLike/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
sed -i 's/\btoo many metavariables to apply `fun_like.has_coe_to_fun`/too many metavariables to apply `DFunLike.hasCoeToFun`/g' {Archive,Counterexamples,Mathlib,test}/**/*.lean
Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -196,7 +196,7 @@ theorem _root_.Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
theorem _root_.Algebra.lmul_injective : Function.Injective (Algebra.lmul R A) :=
- fun a₁ a₂ h ↦ by simpa using FunLike.congr_fun h 1
+ fun a₁ a₂ h ↦ by simpa using DFunLike.congr_fun h 1
theorem _root_.Algebra.lmul_isUnit_iff {x : A} :
IsUnit (Algebra.lmul R A x) ↔ IsUnit x := by
Let Mₛ
be a R
-module and let M
be a submodule of Mₛ
such that Mₛ
is the localization at S
of M
where S
is a submonoid of R
. Assume that Mₛ
is a Rₛ
-module where Rₛ
is a localization of R
at S
. Then, any R
-basis of M
is a Rₛ
-basis of Mₛ
.
This result is used to prove the results about Basis.localizationLocalization
. For that, it is necessary to move some results between files and modify some imports.
Co-authored-by: Junyan Xu <junyanxumath@gmail.com>
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
@@ -198,6 +198,11 @@ theorem _root_.Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
theorem _root_.Algebra.lmul_injective : Function.Injective (Algebra.lmul R A) :=
fun a₁ a₂ h ↦ by simpa using FunLike.congr_fun h 1
+theorem _root_.Algebra.lmul_isUnit_iff {x : A} :
+ IsUnit (Algebra.lmul R A x) ↔ IsUnit x := by
+ rw [Module.End_isUnit_iff, Iff.comm]
+ exact IsUnit.isUnit_iff_mulLeft_bijective
+
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 := by
constructor <;> intro h
Initially I just wanted to add more dot notations for IsIntegral and IsAlgebraic (done in #8437); then I noticed near-duplicates
Algebra.isIntegral_of_finite [Field R] [Ring A]
and
RingHom.IsIntegral.of_finite [CommRing R] [CommRing A]
so I went on to generalize the latter to cover the former, and generalized everything in the IntegralClosure file to the noncommutative case whenever possible.
In the process I noticed more golfs, which result in this PR. Most notably, isIntegral_of_mem_of_FG is now proven using Cayley-Hamilton and doesn't depend on the Noetherian case isIntegral_of_noetherian; the latter is now proven using the former. In total the golfs makes mathlib 227 lines leaner (+487 -714).
The main changes are in the single file RingTheory/IntegralClosure:
Change the definition of Algebra.IsIntegral
which makes it unfold to IsIntegral
rather than RingHom.IsIntegralElem
because the former has much more APIs.
Fix lemma names involving is_integral
which are actually about IsIntegralElem
:
RingHom.is_integral_map
→ RingHom.isIntegralElem_map
RingHom.is_integral_of_mem_closure
→ RingHom.IsIntegralElem.of_mem_closure
RingHom.is_integral_zero/one
→ RingHom.isIntegralElem_zero/one
RingHom.is_integral_add/neg/sub/mul/of_mul_unit
→ RingHom.IsIntegralElem.add/neg/sub/mul/of_mul_unit
Add a lemma Algebra.IsIntegral.of_injective
.
Move isIntegral_of_(submodule_)noetherian
down and golf them.
Remove (Algebra.)isIntegral_of_finite
that work only over fields, in favor of the more general (Algebra.)isIntegral.of_finite
.
Merge duplicate lemmas isIntegral_of_isScalarTower
and isIntegral_tower_top_of_isIntegral
into IsIntegral.tower_top
.
Golf IsIntegral.of_mem_of_fg
by first proving IsIntegral.of_finite
using Cayley-Hamilton.
Add a docstring mentioning the Kurosh problem at Algebra.IsIntegral.finite
. The negative solution to the problem means the theorem doesn't generalize to noncommutative algebras.
Golf IsIntegral.tmul
and isField_of_isIntegral_of_isField(')
.
Combine isIntegral_trans_aux
into isIntegral_trans
and golf.
Add Algebra
namespace to isIntegral_sup
.
rename lemmas for dot notation:
RingHom.isIntegral_trans
→ RingHom.IsIntegral.trans
RingHom.isIntegral_quotient/tower_bot/top_of_isIntegral
→ RingHom.IsIntegral.quotient/tower_bot/top
isIntegral_of_mem_closure'
→ IsIntegral.of_mem_closure'
(and the '' version)
isIntegral_of_surjective
→ Algebra.isIntegral_of_surjective
The next changed file is RingTheory/Algebraic:
Rename:
of_larger_base
→ tower_top
(for consistency with IsIntegral
)
Algebra.isAlgebraic_of_finite
→ Algebra.IsAlgebraic.of_finite
Algebra.isAlgebraic_trans
→ Algebra.IsAlgebraic.trans
Add new lemmasAlgebra.IsIntegral.isAlgebraic
, isAlgebraic_algHom_iff
, and Algebra.IsAlgebraic.of_injective
to streamline some proofs.
The generalization from CommRing to Ring requires an additional lemma scaleRoots_eval₂_mul_of_commute
in Polynomial/ScaleRoots.
A lemma Algebra.lmul_injective
is added to Algebra/Bilinear (in order to golf the proof of IsIntegral.of_mem_of_fg
).
In all other files, I merely fix the changed names, or use newly available dot notations.
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
@@ -195,6 +195,9 @@ theorem _root_.Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
rfl
#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
+theorem _root_.Algebra.lmul_injective : Function.Injective (Algebra.lmul R A) :=
+ fun a₁ a₂ h ↦ by simpa using FunLike.congr_fun h 1
+
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 := by
constructor <;> intro h
Hom
and file name (#8095)
I believe the file defining a type of morphisms belongs alongside the file defining the structure this morphism works on. So I would like to reorganize the files in the Mathlib.Algebra.Hom
folder so that e.g. Mathlib.Algebra.Hom.Ring
becomes Mathlib.Algebra.Ring.Hom
and Mathlib.Algebra.Hom.NonUnitalAlg
becomes Mathlib.Algebra.Algebra.NonUnitalHom
.
While fixing the imports I went ahead and sorted them for good luck.
The full list of changes is: renamed: Mathlib/Algebra/Hom/NonUnitalAlg.lean -> Mathlib/Algebra/Algebra/NonUnitalHom.lean renamed: Mathlib/Algebra/Hom/Aut.lean -> Mathlib/Algebra/Group/Aut.lean renamed: Mathlib/Algebra/Hom/Commute.lean -> Mathlib/Algebra/Group/Commute/Hom.lean renamed: Mathlib/Algebra/Hom/Embedding.lean -> Mathlib/Algebra/Group/Embedding.lean renamed: Mathlib/Algebra/Hom/Equiv/Basic.lean -> Mathlib/Algebra/Group/Equiv/Basic.lean renamed: Mathlib/Algebra/Hom/Equiv/TypeTags.lean -> Mathlib/Algebra/Group/Equiv/TypeTags.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/Basic.lean -> Mathlib/Algebra/Group/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Equiv/Units/GroupWithZero.lean -> Mathlib/Algebra/GroupWithZero/Units/Equiv.lean renamed: Mathlib/Algebra/Hom/Freiman.lean -> Mathlib/Algebra/Group/Freiman.lean renamed: Mathlib/Algebra/Hom/Group/Basic.lean -> Mathlib/Algebra/Group/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Group/Defs.lean -> Mathlib/Algebra/Group/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/GroupAction.lean -> Mathlib/GroupTheory/GroupAction/Hom.lean renamed: Mathlib/Algebra/Hom/GroupInstances.lean -> Mathlib/Algebra/Group/Hom/Instances.lean renamed: Mathlib/Algebra/Hom/Iterate.lean -> Mathlib/Algebra/GroupPower/IterateHom.lean renamed: Mathlib/Algebra/Hom/Centroid.lean -> Mathlib/Algebra/Ring/CentroidHom.lean renamed: Mathlib/Algebra/Hom/Ring/Basic.lean -> Mathlib/Algebra/Ring/Hom/Basic.lean renamed: Mathlib/Algebra/Hom/Ring/Defs.lean -> Mathlib/Algebra/Ring/Hom/Defs.lean renamed: Mathlib/Algebra/Hom/Units.lean -> Mathlib/Algebra/Group/Units/Hom.lean
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Reorganizing.20.60Mathlib.2EAlgebra.2EHom.60
@@ -5,8 +5,8 @@ Authors: Kenny Lau, Yury Kudryashov
-/
import Mathlib.Algebra.Algebra.Basic
import Mathlib.Algebra.Algebra.Equiv
-import Mathlib.Algebra.Hom.Iterate
-import Mathlib.Algebra.Hom.NonUnitalAlg
+import Mathlib.Algebra.Algebra.NonUnitalHom
+import Mathlib.Algebra.GroupPower.IterateHom
import Mathlib.LinearAlgebra.TensorProduct
#align_import algebra.algebra.bilinear from "leanprover-community/mathlib"@"657df4339ae6ceada048c8a2980fb10e393143ec"
This adds LinearMap.map_mul_iff
to match AddMonoidHom.map_mul_iff
and uses it (along with AlgHom.ofLinearMap
) to golf away some induction proof in favor of ext
.
The main motivation is the map_mul_iff
lemma itself, not the golfing.
Also fixes some incorrect docstrings that were mangled during porting, and adds an explicit name to an instance.
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-/
import Mathlib.Algebra.Algebra.Basic
+import Mathlib.Algebra.Algebra.Equiv
import Mathlib.Algebra.Hom.Iterate
import Mathlib.Algebra.Hom.NonUnitalAlg
import Mathlib.LinearAlgebra.TensorProduct
@@ -152,7 +153,18 @@ end NonUnital
section Semiring
-variable (R A : Type*) [CommSemiring R] [Semiring A] [Algebra R A]
+variable (R A B : Type*) [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B]
+
+variable {R A B} in
+/-- A `LinearMap` preserves multiplication if pre- and post- composition with `LinearMap.mul` are
+equivalent. By converting the statement into an equality of `LinearMap`s, this lemma allows various
+specialized `ext` lemmas about `→ₗ[R]` to then be applied.
+
+This is the `LinearMap` version of `AddMonoidHom.map_mul_iff`. -/
+theorem map_mul_iff (f : A →ₗ[R] B) :
+ (∀ x y, f (x * y) = f x * f y) ↔
+ (LinearMap.mul R A).compr₂ f = (LinearMap.mul R B ∘ₗ f).compl₂ f :=
+ Iff.symm LinearMap.ext_iff₂
/-- The multiplication in an algebra is an algebra homomorphism into the endomorphisms on
the algebra.
@@ -18,7 +18,6 @@ in order to avoid importing `LinearAlgebra.BilinearMap` and
`LinearAlgebra.TensorProduct` unnecessarily.
-/
-
open TensorProduct Module
namespace LinearMap
@@ -36,7 +35,7 @@ def mul : A →ₗ[R] A →ₗ[R] A :=
#align linear_map.mul LinearMap.mul
/-- The multiplication map on a non-unital algebra, as an `R`-linear map from `A ⊗[R] A` to `A`. -/
-def mul' : A ⊗[R] A →ₗ[R] A :=
+noncomputable def mul' : A ⊗[R] A →ₗ[R] A :=
TensorProduct.lift (mul R A)
#align linear_map.mul' LinearMap.mul'
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -25,7 +25,7 @@ namespace LinearMap
section NonUnitalNonAssoc
-variable (R A : Type _) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
+variable (R A : Type*) [CommSemiring R] [NonUnitalNonAssocSemiring A] [Module R A]
[SMulCommClass R A A] [IsScalarTower R A A]
/-- The multiplication in a non-unital non-associative algebra is a bilinear map.
@@ -108,7 +108,7 @@ end NonUnitalNonAssoc
section NonUnital
-variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A]
+variable (R A : Type*) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMulCommClass R A A]
[IsScalarTower R A A]
/-- The multiplication in a non-unital algebra is a bilinear map.
@@ -153,7 +153,7 @@ end NonUnital
section Semiring
-variable (R A : Type _) [CommSemiring R] [Semiring A] [Algebra R A]
+variable (R A : Type*) [CommSemiring R] [Semiring A] [Algebra R A]
/-- The multiplication in an algebra is an algebra homomorphism into the endomorphisms on
the algebra.
@@ -230,7 +230,7 @@ end Semiring
section Ring
-variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
+variable {R A : Type*} [CommSemiring R] [Ring A] [Algebra R A]
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) := by
@@ -2,17 +2,14 @@
Copyright (c) 2018 Kenny Lau. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Kenny Lau, Yury Kudryashov
-
-! This file was ported from Lean 3 source module algebra.algebra.bilinear
-! leanprover-community/mathlib commit 657df4339ae6ceada048c8a2980fb10e393143ec
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Algebra.Basic
import Mathlib.Algebra.Hom.Iterate
import Mathlib.Algebra.Hom.NonUnitalAlg
import Mathlib.LinearAlgebra.TensorProduct
+#align_import algebra.algebra.bilinear from "leanprover-community/mathlib"@"657df4339ae6ceada048c8a2980fb10e393143ec"
+
/-!
# Facts about algebras involving bilinear maps and tensor products
@@ -235,12 +235,6 @@ section Ring
variable {R A : Type _} [CommSemiring R] [Ring A] [Algebra R A]
-/-- This instance should not be necessary. porting note: drop after lean4#2074 resolved? -/
-local instance : Module R A := Algebra.toModule
-
-/-- This instance should not be necessary. porting note: drop after lean4#2074 resolved? -/
-local instance : Module A A := Semiring.toModule
-
theorem mulLeft_injective [NoZeroDivisors A] {x : A} (hx : x ≠ 0) :
Function.Injective (mulLeft R x) := by
letI : Nontrivial A := ⟨⟨x, 0, hx⟩⟩
_root_
(#3630)
Mathport doesn't understand this, and apparently nor do many of the humans fixing the errors it creates.
If your #align
statement complains the def doesn't exist, don't change the #align; work out why it doesn't exist instead.
Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -117,7 +117,7 @@ variable (R A : Type _) [CommSemiring R] [NonUnitalSemiring A] [Module R A] [SMu
/-- The multiplication in a non-unital algebra is a bilinear map.
A weaker version of this for non-unital non-associative algebras exists as `LinearMap.mul`. -/
-def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
+def _root_.NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
{ mul R A with
map_mul' := by
intro a b
@@ -126,14 +126,14 @@ def NonUnitalAlgHom.lmul : A →ₙₐ[R] End R A :=
map_zero' := by
ext a
exact zero_mul a }
-#align non_unital_alg_hom.lmul LinearMap.NonUnitalAlgHom.lmul
+#align non_unital_alg_hom.lmul NonUnitalAlgHom.lmul
variable {R A}
@[simp]
-theorem NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
+theorem _root_.NonUnitalAlgHom.coe_lmul_eq_mul : ⇑(NonUnitalAlgHom.lmul R A) = mul R A :=
rfl
-#align non_unital_alg_hom.coe_lmul_eq_mul LinearMap.NonUnitalAlgHom.coe_lmul_eq_mul
+#align non_unital_alg_hom.coe_lmul_eq_mul NonUnitalAlgHom.coe_lmul_eq_mul
theorem commute_mulLeft_right (a b : A) : Commute (mulLeft R a) (mulRight R b) := by
ext c
@@ -162,7 +162,7 @@ variable (R A : Type _) [CommSemiring R] [Semiring A] [Algebra R A]
the algebra.
A weaker version of this for non-unital algebras exists as `NonUnitalAlgHom.mul`. -/
-def Algebra.lmul : A →ₐ[R] End R A :=
+def _root_.Algebra.lmul : A →ₐ[R] End R A :=
{ LinearMap.mul R A with
map_one' := by
ext a
@@ -178,14 +178,14 @@ def Algebra.lmul : A →ₐ[R] End R A :=
intro r
ext a
exact (Algebra.smul_def r a).symm }
-#align algebra.lmul LinearMap.Algebra.lmul
+#align algebra.lmul Algebra.lmul
variable {R A}
@[simp]
-theorem Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
+theorem _root_.Algebra.coe_lmul_eq_mul : ⇑(Algebra.lmul R A) = mul R A :=
rfl
-#align algebra.coe_lmul_eq_mul LinearMap.Algebra.coe_lmul_eq_mul
+#align algebra.coe_lmul_eq_mul Algebra.coe_lmul_eq_mul
@[simp]
theorem mulLeft_eq_zero_iff (a : A) : mulLeft R a = 0 ↔ a = 0 := by
@@ -22,9 +22,7 @@ in order to avoid importing `LinearAlgebra.BilinearMap` and
-/
-open TensorProduct
-
-open Module
+open TensorProduct Module
namespace LinearMap
@@ -63,14 +61,14 @@ def mulLeftRight (ab : A × A) : A →ₗ[R] A :=
#align linear_map.mul_left_right LinearMap.mulLeftRight
@[simp]
-theorem mulLeft_toAddMonoid_hom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
+theorem mulLeft_toAddMonoidHom (a : A) : (mulLeft R a : A →+ A) = AddMonoidHom.mulLeft a :=
rfl
-#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoid_hom
+#align linear_map.mul_left_to_add_monoid_hom LinearMap.mulLeft_toAddMonoidHom
@[simp]
-theorem mulRight_toAddMonoid_hom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
+theorem mulRight_toAddMonoidHom (a : A) : (mulRight R a : A →+ A) = AddMonoidHom.mulRight a :=
rfl
-#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoid_hom
+#align linear_map.mul_right_to_add_monoid_hom LinearMap.mulRight_toAddMonoidHom
variable {R}
@@ -165,8 +163,7 @@ the algebra.
A weaker version of this for non-unital algebras exists as `NonUnitalAlgHom.mul`. -/
def Algebra.lmul : A →ₐ[R] End R A :=
- { LinearMap.mul R
- A with
+ { LinearMap.mul R A with
map_one' := by
ext a
exact one_mul a
The unported dependencies are