algebra.module.linear_map
⟷
Mathlib.Algebra.Module.LinearMap.Basic
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)
@@ -708,7 +708,7 @@ include σ₁₃
ext $ λ _, g.map_neg _
omit σ₁₃
-/-- The negation of a linear map is linear. -/
+/-- The subtraction of two linear maps is linear. -/
instance : has_sub (M →ₛₗ[σ₁₂] N₂) :=
⟨λ f g, { to_fun := f - g,
map_add' := λ x y, by simp only [pi.sub_apply, map_add, add_sub_add_comm],
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(first ported)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -412,9 +412,10 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
#align image_smul_setₛₗ image_smul_setₛₗ
-/
-#print preimage_smul_setₛₗ /-
-theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
- h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
+#print preimage_smul_setₛₗ_of_units /-
+theorem preimage_smul_setₛₗ_of_units [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c)
+ (s : Set M₃) : h ⁻¹' (σ c • s) = c • h ⁻¹' s :=
+ by
apply Set.Subset.antisymm
· rintro x ⟨y, ys, hy⟩
refine' ⟨(hc.unit.inv : R) • x, _, _⟩
@@ -424,7 +425,7 @@ theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : I
· simp only [smul_smul, IsUnit.mul_val_inv, one_smul, Units.inv_eq_val_inv]
· rintro x ⟨y, hy, rfl⟩
refine' ⟨h y, hy, by simp only [RingHom.id_apply, map_smulₛₗ h]⟩
-#align preimage_smul_setₛₗ preimage_smul_setₛₗ
+#align preimage_smul_setₛₗ preimage_smul_setₛₗ_of_units
-/
variable (R M₂)
@@ -438,7 +439,7 @@ theorem image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) : h '' (c
#print preimage_smul_set /-
theorem preimage_smul_set [LinearMapClass F R M M₂] {c : R} (hc : IsUnit c) (s : Set M₂) :
h ⁻¹' (c • s) = c • h ⁻¹' s :=
- preimage_smul_setₛₗ _ _ _ h hc s
+ preimage_smul_setₛₗ_of_units _ _ _ h hc s
#align preimage_smul_set preimage_smul_set
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -4,10 +4,10 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen,
Frédéric Dupuis, Heather Macbeth
-/
-import Algebra.Hom.GroupAction
+import GroupTheory.GroupAction.Hom
import Algebra.Module.Pi
import Algebra.Star.Basic
-import Data.Set.Pointwise.Smul
+import Data.Set.Pointwise.SMul
import Algebra.Ring.CompTypeclasses
#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
@@ -171,7 +171,7 @@ instance (priority := 100) [SemilinearMapClass F σ M M₃] : AddMonoidHomClass
-- `R` is an `out_param` so it's not dangerous
@[nolint dangerous_instance]
-instance (priority := 100) [LinearMapClass F R M M₂] : DistribMulActionHomClass F R M M₂ :=
+instance (priority := 100) [LinearMapClass F R M M₂] : DistribMulActionSemiHomClass F R M M₂ :=
{
SemilinearMapClass.addMonoidHomClass
F with
@@ -745,7 +745,7 @@ instance : Coe (M →+[R] M₂) (M →ₗ[R] M₂) :=
@[simp]
theorem toLinearMap_eq_coe (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
rfl
-#align distrib_mul_action_hom.to_linear_map_eq_coe DistribMulActionHom.toLinearMap_eq_coe
+#align distrib_mul_action_hom.to_linear_map_eq_coe DistribMulActionHomₓ.toLinearMap_eq_coe
#print DistribMulActionHom.coe_toLinearMap /-
@[simp, norm_cast]
@@ -1272,7 +1272,7 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
{ Module.End.semiring,
LinearMap.addCommGroup with
intCast := fun z => z • 1
- intCast_ofNat := coe_nat_zsmul _
+ intCast_ofNat := natCast_zsmul _
intCast_negSucc := negSucc_zsmul _ }
#align module.End.ring Module.End.ring
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -659,7 +659,7 @@ variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMon
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
(f : M →ₛₗ[σ] M₂) (g : M₂ → M) (h₁ : LeftInverse g f) (h₂ : RightInverse g f) : M₂ →ₛₗ[σ'] M :=
by
- dsimp [left_inverse, Function.RightInverse] at h₁ h₂ <;>
+ dsimp [left_inverse, Function.RightInverse] at h₁ h₂ <;>
exact
{ toFun := g
map_add' := fun x y => by rw [← h₁ (g (x + y)), ← h₁ (g x + g y)] <;> simp [h₂]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -1272,7 +1272,7 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
{ Module.End.semiring,
LinearMap.addCommGroup with
intCast := fun z => z • 1
- intCast_ofNat := ofNat_zsmul _
+ intCast_ofNat := coe_nat_zsmul _
intCast_negSucc := negSucc_zsmul _ }
#align module.End.ring Module.End.ring
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -234,7 +234,7 @@ theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
#print LinearMap.ext /-
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align linear_map.ext LinearMap.ext
-/
@@ -258,7 +258,7 @@ theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) :
#print LinearMap.copy_eq /-
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align linear_map.copy_eq LinearMap.copy_eq
-/
@@ -322,26 +322,26 @@ variable {fₗ gₗ f g σ}
#print LinearMap.coe_injective /-
theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
- FunLike.coe_injective
+ DFunLike.coe_injective
#align linear_map.coe_injective LinearMap.coe_injective
-/
#print LinearMap.congr_arg /-
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
- FunLike.congr_arg f
+ DFunLike.congr_arg f
#align linear_map.congr_arg LinearMap.congr_arg
-/
#print LinearMap.congr_fun /-
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
- FunLike.congr_fun h x
+ DFunLike.congr_fun h x
#align linear_map.congr_fun LinearMap.congr_fun
-/
#print LinearMap.ext_iff /-
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
- FunLike.ext_iff
+ DFunLike.ext_iff
#align linear_map.ext_iff LinearMap.ext_iff
-/
@@ -1051,7 +1051,7 @@ theorem comp_add (f g : M →ₛₗ[σ₁₂] M₂) (h : M₂ →ₛₗ[σ₂₃
/-- The type of linear maps is an additive monoid. -/
instance : AddCommMonoid (M →ₛₗ[σ₁₂] M₂) :=
- FunLike.coe_injective.AddCommMonoid _ rfl (fun _ _ => rfl) fun _ _ => rfl
+ DFunLike.coe_injective.AddCommMonoid _ rfl (fun _ _ => rfl) fun _ _ => rfl
/-- The negation of a linear map is linear. -/
instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
@@ -1111,7 +1111,7 @@ theorem comp_sub (f g : M →ₛₗ[σ₁₂] N₂) (h : N₂ →ₛₗ[σ₂₃
/-- The type of linear maps is an additive group. -/
instance : AddCommGroup (M →ₛₗ[σ₁₂] N₂) :=
- FunLike.coe_injective.AddCommGroup _ rfl (fun _ _ => rfl) (fun _ => rfl) (fun _ _ => rfl)
+ DFunLike.coe_injective.AddCommGroup _ rfl (fun _ _ => rfl) (fun _ => rfl) (fun _ _ => rfl)
(fun _ _ => rfl) fun _ _ => rfl
end Arithmetic
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -4,11 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen,
Frédéric Dupuis, Heather Macbeth
-/
-import Mathbin.Algebra.Hom.GroupAction
-import Mathbin.Algebra.Module.Pi
-import Mathbin.Algebra.Star.Basic
-import Mathbin.Data.Set.Pointwise.Smul
-import Mathbin.Algebra.Ring.CompTypeclasses
+import Algebra.Hom.GroupAction
+import Algebra.Module.Pi
+import Algebra.Star.Basic
+import Data.Set.Pointwise.Smul
+import Algebra.Ring.CompTypeclasses
#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -578,7 +578,7 @@ end
def RingHom.toSemilinearMap (f : R →+* S) : R →ₛₗ[f] S :=
{ f with
toFun := f
- map_smul' := f.map_mul }
+ map_smul' := f.map_hMul }
#align ring_hom.to_semilinear_map RingHom.toSemilinearMap
-/
@@ -800,7 +800,7 @@ theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Modu
#print IsLinearMap.isLinearMap_smul' /-
theorem isLinearMap_smul' {R M : Type _} [Semiring R] [AddCommMonoid M] [Module R M] (a : M) :
IsLinearMap R fun c : R => c • a :=
- IsLinearMap.mk (fun x y => add_smul x y a) fun x y => mul_smul x y a
+ IsLinearMap.mk (fun x y => add_smul x y a) fun x y => hMul_smul x y a
#align is_linear_map.is_linear_map_smul' IsLinearMap.isLinearMap_smul'
-/
@@ -1137,7 +1137,7 @@ variable [Monoid T] [DistribMulAction T M₂] [SMulCommClass R₂ T M₂]
instance : DistribMulAction S (M →ₛₗ[σ₁₂] M₂)
where
one_smul f := ext fun _ => one_smul _ _
- mul_smul c c' f := ext fun _ => mul_smul _ _ _
+ hMul_smul c c' f := ext fun _ => hMul_smul _ _ _
smul_add c f g := ext fun x => smul_add _ _ _
smul_zero c := ext fun x => smul_zero _
@@ -1326,7 +1326,7 @@ instance applyModule : Module (Module.End R M) M
add_smul := LinearMap.add_apply
zero_smul := (LinearMap.zero_apply : ∀ m, (0 : M →ₗ[R] M) m = 0)
one_smul _ := rfl
- mul_smul _ _ _ := rfl
+ hMul_smul _ _ _ := rfl
#align linear_map.apply_module LinearMap.applyModule
-/
@@ -1397,7 +1397,7 @@ def toModuleEnd : S →* Module.End R M
where
toFun := toLinearMap R M
map_one' := LinearMap.ext <| one_smul _
- map_mul' a b := LinearMap.ext <| mul_smul _ _
+ map_mul' a b := LinearMap.ext <| hMul_smul _ _
#align distrib_mul_action.to_module_End DistribMulAction.toModuleEnd
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -3,11 +3,6 @@ Copyright (c) 2020 Anne Baanen. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen,
Frédéric Dupuis, Heather Macbeth
-
-! This file was ported from Lean 3 source module algebra.module.linear_map
-! leanprover-community/mathlib commit cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Algebra.Hom.GroupAction
import Mathbin.Algebra.Module.Pi
@@ -15,6 +10,8 @@ import Mathbin.Algebra.Star.Basic
import Mathbin.Data.Set.Pointwise.Smul
import Mathbin.Algebra.Ring.CompTypeclasses
+#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
+
/-!
# (Semi)linear maps
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -108,13 +108,10 @@ structure LinearMap {R : Type _} {S : Type _} [Semiring R] [Semiring S] (σ : R
/-- The `add_hom` underlying a `linear_map`. -/
add_decl_doc LinearMap.toAddHom
--- mathport name: «expr →ₛₗ[ ] »
notation:25 M " →ₛₗ[" σ:25 "] " M₂:0 => LinearMap σ M M₂
--- mathport name: «expr →ₗ[ ] »
notation:25 M " →ₗ[" R:25 "] " M₂:0 => LinearMap (RingHom.id R) M M₂
--- mathport name: «expr →ₗ⋆[ ] »
notation:25 M " →ₗ⋆[" R:25 "] " M₂:0 => LinearMap (starRingEnd R) M M₂
#print SemilinearMapClass /-
@@ -186,11 +183,11 @@ instance (priority := 100) [LinearMapClass F R M M₂] : DistribMulActionHomClas
variable {F} (f : F) [i : SemilinearMapClass F σ M M₃]
-include i
-
+#print SemilinearMapClass.map_smul_inv /-
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_inv
+-/
end SemilinearMapClass
@@ -230,16 +227,21 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
#align linear_map.to_distrib_mul_action_hom LinearMap.toDistribMulActionHom
-/
+#print LinearMap.toFun_eq_coe /-
@[simp]
theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
rfl
#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coe
+-/
+#print LinearMap.ext /-
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
FunLike.ext f g h
#align linear_map.ext LinearMap.ext
+-/
+#print LinearMap.copy /-
/-- Copy of a `linear_map` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : M →ₛₗ[σ] M₃
@@ -248,15 +250,20 @@ protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f)
map_add' := h.symm ▸ f.map_add'
map_smul' := h.symm ▸ f.map_smul'
#align linear_map.copy LinearMap.copy
+-/
+#print LinearMap.coe_copy /-
@[simp]
theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : ⇑(f.copy f' h) = f' :=
rfl
#align linear_map.coe_copy LinearMap.coe_copy
+-/
+#print LinearMap.copy_eq /-
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
FunLike.ext' h
#align linear_map.copy_eq LinearMap.copy_eq
+-/
/-- See Note [custom simps projection]. -/
protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+* S) (M M₃ : Type _)
@@ -266,11 +273,13 @@ protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+*
initialize_simps_projections LinearMap (toFun → apply)
+#print LinearMap.coe_mk /-
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
((LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) : M → M₃) = f :=
rfl
#align linear_map.coe_mk LinearMap.coe_mk
+-/
#print LinearMap.id /-
/-- Identity map as a `linear_map` -/
@@ -279,14 +288,18 @@ def id : M →ₗ[R] M :=
#align linear_map.id LinearMap.id
-/
+#print LinearMap.id_apply /-
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
rfl
#align linear_map.id_apply LinearMap.id_apply
+-/
+#print LinearMap.id_coe /-
@[simp, norm_cast]
theorem id_coe : ((LinearMap.id : M →ₗ[R] M) : M → M) = id :=
rfl
#align linear_map.id_coe LinearMap.id_coe
+-/
end
@@ -302,63 +315,87 @@ variable (σ : R →+* S)
variable (fₗ gₗ : M →ₗ[R] M₂) (f g : M →ₛₗ[σ] M₃)
+#print LinearMap.isLinear /-
theorem isLinear : IsLinearMap R fₗ :=
⟨fₗ.map_add', fₗ.map_smul'⟩
#align linear_map.is_linear LinearMap.isLinear
+-/
variable {fₗ gₗ f g σ}
+#print LinearMap.coe_injective /-
theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
FunLike.coe_injective
#align linear_map.coe_injective LinearMap.coe_injective
+-/
+#print LinearMap.congr_arg /-
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
FunLike.congr_arg f
#align linear_map.congr_arg LinearMap.congr_arg
+-/
+#print LinearMap.congr_fun /-
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
FunLike.congr_fun h x
#align linear_map.congr_fun LinearMap.congr_fun
+-/
+#print LinearMap.ext_iff /-
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
FunLike.ext_iff
#align linear_map.ext_iff LinearMap.ext_iff
+-/
+#print LinearMap.mk_coe /-
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
ext fun _ => rfl
#align linear_map.mk_coe LinearMap.mk_coe
+-/
variable (fₗ gₗ f g)
+#print LinearMap.map_add /-
protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
map_add f x y
#align linear_map.map_add LinearMap.map_add
+-/
+#print LinearMap.map_zero /-
protected theorem map_zero : f 0 = 0 :=
map_zero f
#align linear_map.map_zero LinearMap.map_zero
+-/
+#print LinearMap.map_smulₛₗ /-
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
protected theorem map_smulₛₗ (c : R) (x : M) : f (c • x) = σ c • f x :=
map_smulₛₗ f c x
#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗ
+-/
+#print LinearMap.map_smul /-
protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
map_smul fₗ c x
#align linear_map.map_smul LinearMap.map_smul
+-/
+#print LinearMap.map_smul_inv /-
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
#align linear_map.map_smul_inv LinearMap.map_smul_inv
+-/
+#print LinearMap.map_eq_zero_iff /-
-- TODO: generalize to `zero_hom_class`
@[simp]
theorem map_eq_zero_iff (h : Function.Injective f) {x : M} : f x = 0 ↔ x = 0 :=
⟨fun w => by apply h; simp [w], fun w => by subst w; simp⟩
#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iff
+-/
section Pointwise
@@ -366,6 +403,7 @@ open scoped Pointwise
variable (M M₃ σ) {F : Type _} (h : F)
+#print image_smul_setₛₗ /-
@[simp]
theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
h '' (c • s) = σ c • h '' s := by
@@ -375,7 +413,9 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
· rintro x ⟨y, ⟨z, hz, rfl⟩, rfl⟩
exact (Set.mem_image _ _ _).2 ⟨c • z, Set.smul_mem_smul_set hz, map_smulₛₗ _ _ _⟩
#align image_smul_setₛₗ image_smul_setₛₗ
+-/
+#print preimage_smul_setₛₗ /-
theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
apply Set.Subset.antisymm
@@ -388,17 +428,22 @@ theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : I
· rintro x ⟨y, hy, rfl⟩
refine' ⟨h y, hy, by simp only [RingHom.id_apply, map_smulₛₗ h]⟩
#align preimage_smul_setₛₗ preimage_smul_setₛₗ
+-/
variable (R M₂)
+#print image_smul_set /-
theorem image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) : h '' (c • s) = c • h '' s :=
image_smul_setₛₗ _ _ _ h c s
#align image_smul_set image_smul_set
+-/
+#print preimage_smul_set /-
theorem preimage_smul_set [LinearMapClass F R M M₂] {c : R} (hc : IsUnit c) (s : Set M₂) :
h ⁻¹' (c • s) = c • h ⁻¹' s :=
preimage_smul_setₛₗ _ _ _ h hc s
#align preimage_smul_set preimage_smul_set
+-/
end Pointwise
@@ -426,12 +471,14 @@ instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring
#align linear_map.is_scalar_tower.compatible_smul LinearMap.IsScalarTower.compatibleSMul
-/
+#print LinearMap.map_smul_of_tower /-
@[simp]
theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
[Module S M₂] [CompatibleSMul M M₂ R S] (fₗ : M →ₗ[S] M₂) (c : R) (x : M) :
fₗ (c • x) = c • fₗ x :=
CompatibleSMul.map_smul fₗ c x
#align linear_map.map_smul_of_tower LinearMap.map_smul_of_tower
+-/
#print LinearMap.toAddMonoidHom /-
/-- convert a linear map to an additive map -/
@@ -442,10 +489,12 @@ def toAddMonoidHom : M →+ M₃ where
#align linear_map.to_add_monoid_hom LinearMap.toAddMonoidHom
-/
+#print LinearMap.toAddMonoidHom_coe /-
@[simp]
theorem toAddMonoidHom_coe : ⇑f.toAddMonoidHom = f :=
rfl
#align linear_map.to_add_monoid_hom_coe LinearMap.toAddMonoidHom_coe
+-/
section RestrictScalars
@@ -465,48 +514,64 @@ def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
#align linear_map.restrict_scalars LinearMap.restrictScalars
-/
+#print LinearMap.coe_restrictScalars /-
@[simp]
theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
rfl
#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalars
+-/
+#print LinearMap.restrictScalars_apply /-
theorem restrictScalars_apply (fₗ : M →ₗ[S] M₂) (x) : restrictScalars R fₗ x = fₗ x :=
rfl
#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_apply
+-/
+#print LinearMap.restrictScalars_injective /-
theorem restrictScalars_injective :
Function.Injective (restrictScalars R : (M →ₗ[S] M₂) → M →ₗ[R] M₂) := fun fₗ gₗ h =>
ext (LinearMap.congr_fun h : _)
#align linear_map.restrict_scalars_injective LinearMap.restrictScalars_injective
+-/
+#print LinearMap.restrictScalars_inj /-
@[simp]
theorem restrictScalars_inj (fₗ gₗ : M →ₗ[S] M₂) :
fₗ.restrictScalars R = gₗ.restrictScalars R ↔ fₗ = gₗ :=
(restrictScalars_injective R).eq_iff
#align linear_map.restrict_scalars_inj LinearMap.restrictScalars_inj
+-/
end RestrictScalars
variable {R}
+#print LinearMap.toAddMonoidHom_injective /-
theorem toAddMonoidHom_injective : Function.Injective (toAddMonoidHom : (M →ₛₗ[σ] M₃) → M →+ M₃) :=
fun f g h => ext <| AddMonoidHom.congr_fun h
#align linear_map.to_add_monoid_hom_injective LinearMap.toAddMonoidHom_injective
+-/
+#print LinearMap.ext_ring /-
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
@[ext]
theorem ext_ring {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
ext fun x => by rw [← mul_one x, ← smul_eq_mul, f.map_smulₛₗ, g.map_smulₛₗ, h]
#align linear_map.ext_ring LinearMap.ext_ring
+-/
+#print LinearMap.ext_ring_iff /-
theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1 = g 1 :=
⟨fun h => h ▸ rfl, ext_ring⟩
#align linear_map.ext_ring_iff LinearMap.ext_ring_iff
+-/
+#print LinearMap.ext_ring_op /-
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
ext fun x => by rw [← one_mul x, ← op_smul_eq_mul, f.map_smulₛₗ, g.map_smulₛₗ, h]
#align linear_map.ext_ring_op LinearMap.ext_ring_op
+-/
end
@@ -534,8 +599,6 @@ variable [RingHomCompTriple σ₁₂ σ₂₃ σ₁₃]
variable (f : M₂ →ₛₗ[σ₂₃] M₃) (g : M₁ →ₛₗ[σ₁₂] M₂)
-include module_M₁ module_M₂ module_M₃
-
#print LinearMap.comp /-
/-- Composition of two linear maps is a linear map -/
def comp : M₁ →ₛₗ[σ₁₃] M₃ where
@@ -545,58 +608,56 @@ def comp : M₁ →ₛₗ[σ₁₃] M₃ where
#align linear_map.comp LinearMap.comp
-/
-omit module_M₁ module_M₂ module_M₃
-
--- mathport name: «expr ∘ₗ »
infixr:80 " ∘ₗ " =>
@LinearMap.comp _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ (RingHom.id _) (RingHom.id _) (RingHom.id _)
RingHomCompTriple.ids
-include σ₁₃
-
+#print LinearMap.comp_apply /-
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
#align linear_map.comp_apply LinearMap.comp_apply
+-/
-omit σ₁₃
-
-include σ₁₃
-
+#print LinearMap.coe_comp /-
@[simp, norm_cast]
theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
rfl
#align linear_map.coe_comp LinearMap.coe_comp
+-/
-omit σ₁₃
-
+#print LinearMap.comp_id /-
@[simp]
theorem comp_id : f.comp id = f :=
LinearMap.ext fun x => rfl
#align linear_map.comp_id LinearMap.comp_id
+-/
+#print LinearMap.id_comp /-
@[simp]
theorem id_comp : id.comp f = f :=
LinearMap.ext fun x => rfl
#align linear_map.id_comp LinearMap.id_comp
+-/
variable {f g} {f' : M₂ →ₛₗ[σ₂₃] M₃} {g' : M₁ →ₛₗ[σ₁₂] M₂}
-include σ₁₃
-
+#print LinearMap.cancel_right /-
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h => ext <| hg.forall.2 (ext_iff.1 h), fun h => h ▸ rfl⟩
#align linear_map.cancel_right LinearMap.cancel_right
+-/
+#print LinearMap.cancel_left /-
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h => ext fun x => hf <| by rw [← comp_apply, h, comp_apply], fun h => h ▸ rfl⟩
#align linear_map.cancel_left LinearMap.cancel_left
-
-omit σ₁₃
+-/
end
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
+#print LinearMap.inverse /-
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
(f : M →ₛₗ[σ] M₂) (g : M₂ → M) (h₁ : LeftInverse g f) (h₂ : RightInverse g f) : M₂ →ₛₗ[σ'] M :=
@@ -607,6 +668,7 @@ def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [Rin
map_add' := fun x y => by rw [← h₁ (g (x + y)), ← h₁ (g x + g y)] <;> simp [h₂]
map_smul' := fun a b => by rw [← h₁ (g (a • b)), ← h₁ (σ' a • g b)]; simp [h₂] }
#align linear_map.inverse LinearMap.inverse
+-/
end AddCommMonoid
@@ -618,13 +680,17 @@ variable {module_M : Module R M} {module_M₂ : Module S M₂} {σ : R →+* S}
variable (f : M →ₛₗ[σ] M₂)
+#print LinearMap.map_neg /-
protected theorem map_neg (x : M) : f (-x) = -f x :=
map_neg f x
#align linear_map.map_neg LinearMap.map_neg
+-/
+#print LinearMap.map_sub /-
protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
#align linear_map.map_sub LinearMap.map_sub
+-/
#print LinearMap.CompatibleSMul.intModule /-
instance CompatibleSMul.intModule {S : Type _} [Semiring S] [Module S M] [Module S M₂] :
@@ -684,14 +750,18 @@ theorem toLinearMap_eq_coe (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
rfl
#align distrib_mul_action_hom.to_linear_map_eq_coe DistribMulActionHom.toLinearMap_eq_coe
+#print DistribMulActionHom.coe_toLinearMap /-
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
rfl
#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMap
+-/
+#print DistribMulActionHom.toLinearMap_injective /-
theorem toLinearMap_injective {f g : M →+[R] M₂} (h : (f : M →ₗ[R] M₂) = (g : M →ₗ[R] M₂)) :
f = g := by ext m; exact LinearMap.congr_fun h m
#align distrib_mul_action_hom.to_linear_map_injective DistribMulActionHom.toLinearMap_injective
+-/
end DistribMulActionHom
@@ -703,8 +773,6 @@ variable [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂]
variable [Module R M] [Module R M₂]
-include R
-
#print IsLinearMap.mk' /-
/-- Convert an `is_linear_map` predicate to a `linear_map` -/
def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
@@ -715,11 +783,14 @@ def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
#align is_linear_map.mk' IsLinearMap.mk'
-/
+#print IsLinearMap.mk'_apply /-
@[simp]
theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f x :=
rfl
#align is_linear_map.mk'_apply IsLinearMap.mk'_apply
+-/
+#print IsLinearMap.isLinearMap_smul /-
theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Module R M] (c : R) :
IsLinearMap R fun z : M => c • z :=
by
@@ -727,19 +798,22 @@ theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Modu
intro _ _
simp only [smul_smul, mul_comm]
#align is_linear_map.is_linear_map_smul IsLinearMap.isLinearMap_smul
+-/
+#print IsLinearMap.isLinearMap_smul' /-
theorem isLinearMap_smul' {R M : Type _} [Semiring R] [AddCommMonoid M] [Module R M] (a : M) :
IsLinearMap R fun c : R => c • a :=
IsLinearMap.mk (fun x y => add_smul x y a) fun x y => mul_smul x y a
#align is_linear_map.is_linear_map_smul' IsLinearMap.isLinearMap_smul'
+-/
variable {f : M → M₂} (lin : IsLinearMap R f)
-include M M₂ lin
-
+#print IsLinearMap.map_zero /-
theorem map_zero : f (0 : M) = (0 : M₂) :=
(lin.mk' f).map_zero
#align is_linear_map.map_zero IsLinearMap.map_zero
+-/
end AddCommMonoid
@@ -749,23 +823,25 @@ variable [Semiring R] [AddCommGroup M] [AddCommGroup M₂]
variable [Module R M] [Module R M₂]
-include R
-
+#print IsLinearMap.isLinearMap_neg /-
theorem isLinearMap_neg : IsLinearMap R fun z : M => -z :=
IsLinearMap.mk neg_add fun x y => (smul_neg x y).symm
#align is_linear_map.is_linear_map_neg IsLinearMap.isLinearMap_neg
+-/
variable {f : M → M₂} (lin : IsLinearMap R f)
-include M M₂ lin
-
+#print IsLinearMap.map_neg /-
theorem map_neg (x : M) : f (-x) = -f x :=
(lin.mk' f).map_neg x
#align is_linear_map.map_neg IsLinearMap.map_neg
+-/
+#print IsLinearMap.map_sub /-
theorem map_sub (x y) : f (x - y) = f x - f y :=
(lin.mk' f).map_sub x y
#align is_linear_map.map_sub IsLinearMap.map_sub
+-/
end AddCommGroup
@@ -789,11 +865,14 @@ def AddMonoidHom.toNatLinearMap [AddCommMonoid M] [AddCommMonoid M₂] (f : M
#align add_monoid_hom.to_nat_linear_map AddMonoidHom.toNatLinearMap
-/
+#print AddMonoidHom.toNatLinearMap_injective /-
theorem AddMonoidHom.toNatLinearMap_injective [AddCommMonoid M] [AddCommMonoid M₂] :
Function.Injective (@AddMonoidHom.toNatLinearMap M M₂ _ _) := by intro f g h; ext;
exact LinearMap.congr_fun h x
#align add_monoid_hom.to_nat_linear_map_injective AddMonoidHom.toNatLinearMap_injective
+-/
+#print AddMonoidHom.toIntLinearMap /-
/-- Reinterpret an additive homomorphism as a `ℤ`-linear map. -/
def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) : M →ₗ[ℤ] M₂
where
@@ -801,17 +880,22 @@ def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+
map_add' := f.map_add
map_smul' := map_zsmul f
#align add_monoid_hom.to_int_linear_map AddMonoidHom.toIntLinearMap
+-/
+#print AddMonoidHom.toIntLinearMap_injective /-
theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M₂] :
Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) := by intro f g h; ext;
exact LinearMap.congr_fun h x
#align add_monoid_hom.to_int_linear_map_injective AddMonoidHom.toIntLinearMap_injective
+-/
+#print AddMonoidHom.coe_toIntLinearMap /-
@[simp]
theorem AddMonoidHom.coe_toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) :
⇑f.toIntLinearMap = f :=
rfl
#align add_monoid_hom.coe_to_int_linear_map AddMonoidHom.coe_toIntLinearMap
+-/
#print AddMonoidHom.toRatLinearMap /-
/-- Reinterpret an additive homomorphism as a `ℚ`-linear map. -/
@@ -821,16 +905,20 @@ def AddMonoidHom.toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M
#align add_monoid_hom.to_rat_linear_map AddMonoidHom.toRatLinearMap
-/
+#print AddMonoidHom.toRatLinearMap_injective /-
theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
[Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) := by
intro f g h; ext; exact LinearMap.congr_fun h x
#align add_monoid_hom.to_rat_linear_map_injective AddMonoidHom.toRatLinearMap_injective
+-/
+#print AddMonoidHom.coe_toRatLinearMap /-
@[simp]
theorem AddMonoidHom.coe_toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
[Module ℚ M₂] (f : M →+ M₂) : ⇑f.toRatLinearMap = f :=
rfl
#align add_monoid_hom.coe_to_rat_linear_map AddMonoidHom.coe_toRatLinearMap
+-/
namespace LinearMap
@@ -856,14 +944,18 @@ instance : SMul S (M →ₛₗ[σ₁₂] M₂) :=
map_add' := fun x y => by simp only [Pi.smul_apply, f.map_add, smul_add]
map_smul' := fun c x => by simp [Pi.smul_apply, smul_comm (σ₁₂ c)] }⟩
+#print LinearMap.smul_apply /-
@[simp]
theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f) x = a • f x :=
rfl
#align linear_map.smul_apply LinearMap.smul_apply
+-/
+#print LinearMap.coe_smul /-
theorem coe_smul (a : S) (f : M →ₛₗ[σ₁₂] M₂) : ⇑(a • f) = a • f :=
rfl
#align linear_map.coe_smul LinearMap.coe_smul
+-/
instance [SMulCommClass S T M₂] : SMulCommClass S T (M →ₛₗ[σ₁₂] M₂) :=
⟨fun a b f => ext fun x => smul_comm _ _ _⟩
@@ -901,28 +993,36 @@ instance : Zero (M →ₛₗ[σ₁₂] M₂) :=
map_add' := by simp
map_smul' := by simp }⟩
+#print LinearMap.zero_apply /-
@[simp]
theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
rfl
#align linear_map.zero_apply LinearMap.zero_apply
+-/
+#print LinearMap.comp_zero /-
@[simp]
theorem comp_zero (g : M₂ →ₛₗ[σ₂₃] M₃) : (g.comp (0 : M →ₛₗ[σ₁₂] M₂) : M →ₛₗ[σ₁₃] M₃) = 0 :=
ext fun c => by rw [comp_apply, zero_apply, zero_apply, g.map_zero]
#align linear_map.comp_zero LinearMap.comp_zero
+-/
+#print LinearMap.zero_comp /-
@[simp]
theorem zero_comp (f : M →ₛₗ[σ₁₂] M₂) : ((0 : M₂ →ₛₗ[σ₂₃] M₃).comp f : M →ₛₗ[σ₁₃] M₃) = 0 :=
rfl
#align linear_map.zero_comp LinearMap.zero_comp
+-/
instance : Inhabited (M →ₛₗ[σ₁₂] M₂) :=
⟨0⟩
+#print LinearMap.default_def /-
@[simp]
theorem default_def : (default : M →ₛₗ[σ₁₂] M₂) = 0 :=
rfl
#align linear_map.default_def LinearMap.default_def
+-/
/-- The sum of two linear maps is linear. -/
instance : Add (M →ₛₗ[σ₁₂] M₂) :=
@@ -931,20 +1031,26 @@ instance : Add (M →ₛₗ[σ₁₂] M₂) :=
map_add' := by simp [add_comm, add_left_comm]
map_smul' := by simp [smul_add] }⟩
+#print LinearMap.add_apply /-
@[simp]
theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x + g x :=
rfl
#align linear_map.add_apply LinearMap.add_apply
+-/
+#print LinearMap.add_comp /-
theorem add_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃] M₃) :
((h + g).comp f : M →ₛₗ[σ₁₃] M₃) = h.comp f + g.comp f :=
rfl
#align linear_map.add_comp LinearMap.add_comp
+-/
+#print LinearMap.comp_add /-
theorem comp_add (f g : M →ₛₗ[σ₁₂] M₂) (h : M₂ →ₛₗ[σ₂₃] M₃) :
(h.comp (f + g) : M →ₛₗ[σ₁₃] M₃) = h.comp f + h.comp g :=
ext fun _ => h.map_add _ _
#align linear_map.comp_add LinearMap.comp_add
+-/
/-- The type of linear maps is an additive monoid. -/
instance : AddCommMonoid (M →ₛₗ[σ₁₂] M₂) :=
@@ -957,24 +1063,26 @@ instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
map_add' := by simp [add_comm]
map_smul' := by simp }⟩
+#print LinearMap.neg_apply /-
@[simp]
theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
rfl
#align linear_map.neg_apply LinearMap.neg_apply
+-/
-include σ₁₃
-
+#print LinearMap.neg_comp /-
@[simp]
theorem neg_comp (f : M →ₛₗ[σ₁₂] M₂) (g : M₂ →ₛₗ[σ₂₃] N₃) : (-g).comp f = -g.comp f :=
rfl
#align linear_map.neg_comp LinearMap.neg_comp
+-/
+#print LinearMap.comp_neg /-
@[simp]
theorem comp_neg (f : M →ₛₗ[σ₁₂] N₂) (g : N₂ →ₛₗ[σ₂₃] N₃) : g.comp (-f) = -g.comp f :=
ext fun _ => g.map_neg _
#align linear_map.comp_neg LinearMap.comp_neg
-
-omit σ₁₃
+-/
/-- The subtraction of two linear maps is linear. -/
instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
@@ -983,24 +1091,26 @@ instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
map_add' := fun x y => by simp only [Pi.sub_apply, map_add, add_sub_add_comm]
map_smul' := fun r x => by simp [Pi.sub_apply, map_smul, smul_sub] }⟩
+#print LinearMap.sub_apply /-
@[simp]
theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x - g x :=
rfl
#align linear_map.sub_apply LinearMap.sub_apply
+-/
-include σ₁₃
-
+#print LinearMap.sub_comp /-
theorem sub_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃] N₃) :
(g - h).comp f = g.comp f - h.comp f :=
rfl
#align linear_map.sub_comp LinearMap.sub_comp
+-/
+#print LinearMap.comp_sub /-
theorem comp_sub (f g : M →ₛₗ[σ₁₂] N₂) (h : N₂ →ₛₗ[σ₂₃] N₃) :
h.comp (g - f) = h.comp g - h.comp f :=
ext fun _ => h.map_sub _ _
#align linear_map.comp_sub LinearMap.comp_sub
-
-omit σ₁₃
+-/
/-- The type of linear maps is an additive group. -/
instance : AddCommGroup (M →ₛₗ[σ₁₂] N₂) :=
@@ -1034,21 +1144,21 @@ instance : DistribMulAction S (M →ₛₗ[σ₁₂] M₂)
smul_add c f g := ext fun x => smul_add _ _ _
smul_zero c := ext fun x => smul_zero _
-include σ₁₃
-
+#print LinearMap.smul_comp /-
theorem smul_comp (a : S₃) (g : M₂ →ₛₗ[σ₂₃] M₃) (f : M →ₛₗ[σ₁₂] M₂) :
(a • g).comp f = a • g.comp f :=
rfl
#align linear_map.smul_comp LinearMap.smul_comp
+-/
-omit σ₁₃
-
+#print LinearMap.comp_smul /-
-- TODO: generalize this to semilinear maps
theorem comp_smul [Module R M₂] [Module R M₃] [SMulCommClass R S M₂] [DistribMulAction S M₃]
[SMulCommClass R S M₃] [CompatibleSMul M₃ M₂ S R] (g : M₃ →ₗ[R] M₂) (a : S) (f : M →ₗ[R] M₃) :
g.comp (a • f) = a • g.comp f :=
ext fun x => g.map_smul_of_tower _ _
#align linear_map.comp_smul LinearMap.comp_smul
+-/
end SMul
@@ -1091,27 +1201,37 @@ theorem one_eq_id : (1 : Module.End R M) = id :=
#align linear_map.one_eq_id LinearMap.one_eq_id
-/
+#print LinearMap.mul_eq_comp /-
theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
rfl
#align linear_map.mul_eq_comp LinearMap.mul_eq_comp
+-/
+#print LinearMap.one_apply /-
@[simp]
theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
rfl
#align linear_map.one_apply LinearMap.one_apply
+-/
+#print LinearMap.mul_apply /-
@[simp]
theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
rfl
#align linear_map.mul_apply LinearMap.mul_apply
+-/
+#print LinearMap.coe_one /-
theorem coe_one : ⇑(1 : Module.End R M) = id :=
rfl
#align linear_map.coe_one LinearMap.coe_one
+-/
+#print LinearMap.coe_mul /-
theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
#align linear_map.coe_mul LinearMap.coe_mul
+-/
#print Module.End.monoid /-
instance Module.End.monoid : Monoid (Module.End R M)
@@ -1142,11 +1262,13 @@ instance Module.End.semiring : Semiring (Module.End R M) :=
#align module.End.semiring Module.End.semiring
-/
+#print Module.End.natCast_apply /-
/-- See also `module.End.nat_cast_def`. -/
@[simp]
theorem Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R M) m = n • m :=
rfl
#align module.End.nat_cast_apply Module.End.natCast_apply
+-/
#print Module.End.ring /-
instance Module.End.ring : Ring (Module.End R N₁) :=
@@ -1158,29 +1280,37 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
#align module.End.ring Module.End.ring
-/
+#print Module.End.intCast_apply /-
/-- See also `module.End.int_cast_def`. -/
@[simp]
theorem Module.End.intCast_apply (z : ℤ) (m : N₁) : (↑z : Module.End R N₁) m = z • m :=
rfl
#align module.End.int_cast_apply Module.End.intCast_apply
+-/
section
variable [Monoid S] [DistribMulAction S M] [SMulCommClass R S M]
+#print Module.End.isScalarTower /-
instance Module.End.isScalarTower : IsScalarTower S (Module.End R M) (Module.End R M) :=
⟨smul_comp⟩
#align module.End.is_scalar_tower Module.End.isScalarTower
+-/
+#print Module.End.smulCommClass /-
instance Module.End.smulCommClass [SMul S R] [IsScalarTower S R M] :
SMulCommClass S (Module.End R M) (Module.End R M) :=
⟨fun s _ _ => (comp_smul _ s _).symm⟩
#align module.End.smul_comm_class Module.End.smulCommClass
+-/
+#print Module.End.smulCommClass' /-
instance Module.End.smulCommClass' [SMul S R] [IsScalarTower S R M] :
SMulCommClass (Module.End R M) S (Module.End R M) :=
SMulCommClass.symm _ _ _
#align module.End.smul_comm_class' Module.End.smulCommClass'
+-/
end
@@ -1203,10 +1333,12 @@ instance applyModule : Module (Module.End R M) M
#align linear_map.apply_module LinearMap.applyModule
-/
+#print LinearMap.smul_def /-
@[simp]
protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
rfl
#align linear_map.smul_def LinearMap.smul_def
+-/
#print LinearMap.apply_faithfulSMul /-
/-- `linear_map.apply_module` is faithful. -/
@@ -1247,6 +1379,7 @@ variable (R M) [Semiring R] [AddCommMonoid M] [Module R M]
variable [Monoid S] [DistribMulAction S M] [SMulCommClass S R M]
+#print DistribMulAction.toLinearMap /-
/-- Each element of the monoid defines a linear map.
This is a stronger version of `distrib_mul_action.to_add_monoid_hom`. -/
@@ -1256,7 +1389,9 @@ def toLinearMap (s : S) : M →ₗ[R] M where
map_add' := smul_add s
map_smul' a b := smul_comm _ _ _
#align distrib_mul_action.to_linear_map DistribMulAction.toLinearMap
+-/
+#print DistribMulAction.toModuleEnd /-
/-- Each element of the monoid defines a module endomorphism.
This is a stronger version of `distrib_mul_action.to_add_monoid_End`. -/
@@ -1267,6 +1402,7 @@ def toModuleEnd : S →* Module.End R M
map_one' := LinearMap.ext <| one_smul _
map_mul' a b := LinearMap.ext <| mul_smul _ _
#align distrib_mul_action.to_module_End DistribMulAction.toModuleEnd
+-/
end DistribMulAction
@@ -1291,6 +1427,7 @@ def toModuleEnd : S →+* Module.End R M :=
#align module.to_module_End Module.toModuleEnd
-/
+#print Module.moduleEndSelf /-
/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `module.End R R` induced by the right
multiplication. -/
@[simps]
@@ -1301,7 +1438,9 @@ def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.End R R :=
left_inv := mul_one
right_inv := fun f => LinearMap.ext_ring <| one_mul _ }
#align module.module_End_self Module.moduleEndSelf
+-/
+#print Module.moduleEndSelfOp /-
/-- The canonical (semi)ring isomorphism from `R` to `module.End Rᵐᵒᵖ R` induced by the left
multiplication. -/
@[simps]
@@ -1312,16 +1451,21 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
left_inv := mul_one
right_inv := fun f => LinearMap.ext_ring_op <| mul_one _ }
#align module.module_End_self_op Module.moduleEndSelfOp
+-/
+#print Module.End.natCast_def /-
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
(↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
rfl
#align module.End.nat_cast_def Module.End.natCast_def
+-/
+#print Module.End.intCast_def /-
theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
(↑z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
rfl
#align module.End.int_cast_def Module.End.intCast_def
+-/
end Module
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -83,7 +83,7 @@ variable {N₁ : Type _} {N₂ : Type _} {N₃ : Type _} {ι : Type _}
property. A bundled version is available with `linear_map`, and should be favored over
`is_linear_map` most of the time. -/
structure IsLinearMap (R : Type u) {M : Type v} {M₂ : Type w} [Semiring R] [AddCommMonoid M]
- [AddCommMonoid M₂] [Module R M] [Module R M₂] (f : M → M₂) : Prop where
+ [AddCommMonoid M₂] [Module R M] [Module R M₂] (f : M → M₂) : Prop where
map_add : ∀ x y, f (x + y) = f x + f y
map_smul : ∀ (c : R) (x), f (c • x) = c • f x
#align is_linear_map IsLinearMap
@@ -99,8 +99,8 @@ is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`σ = ring_hom.id R`), the notation `M →ₗ[R] M₂` is available. An unbundled version of plain linear
maps is available with the predicate `is_linear_map`, but it should be avoided most of the time. -/
structure LinearMap {R : Type _} {S : Type _} [Semiring R] [Semiring S] (σ : R →+* S) (M : Type _)
- (M₂ : Type _) [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module S M₂] extends
- AddHom M M₂ where
+ (M₂ : Type _) [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module S M₂] extends
+ AddHom M M₂ where
map_smul' : ∀ (r : R) (x : M), to_fun (r • x) = σ r • to_fun x
#align linear_map LinearMap
-/
@@ -126,8 +126,8 @@ A map `f` between an `R`-module and an `S`-module over a ring homomorphism `σ :
is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`f (c • x) = (σ c) • f x`. -/
class SemilinearMapClass (F : Type _) {R S : outParam (Type _)} [Semiring R] [Semiring S]
- (σ : outParam <| R →+* S) (M M₂ : outParam (Type _)) [AddCommMonoid M] [AddCommMonoid M₂]
- [Module R M] [Module S M₂] extends AddHomClass F M M₂ where
+ (σ : outParam <| R →+* S) (M M₂ : outParam (Type _)) [AddCommMonoid M] [AddCommMonoid M₂]
+ [Module R M] [Module S M₂] extends AddHomClass F M M₂ where
map_smulₛₗ : ∀ (f : F) (r : R) (x : M), f (r • x) = σ r • f x
#align semilinear_map_class SemilinearMapClass
-/
@@ -411,7 +411,7 @@ we can also add an instance for `add_comm_group.int_module`, allowing `z •` to
`R` does not support negation.
-/
class CompatibleSMul (R S : Type _) [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
- [Module S M₂] where
+ [Module S M₂] where
map_smul : ∀ (fₗ : M →ₗ[S] M₂) (c : R) (x : M), fₗ (c • x) = c • fₗ x
#align linear_map.compatible_smul LinearMap.CompatibleSMul
-/
@@ -601,7 +601,7 @@ variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMon
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
(f : M →ₛₗ[σ] M₂) (g : M₂ → M) (h₁ : LeftInverse g f) (h₂ : RightInverse g f) : M₂ →ₛₗ[σ'] M :=
by
- dsimp [left_inverse, Function.RightInverse] at h₁ h₂ <;>
+ dsimp [left_inverse, Function.RightInverse] at h₁ h₂ <;>
exact
{ toFun := g
map_add' := fun x y => by rw [← h₁ (g (x + y)), ← h₁ (g x + g y)] <;> simp [h₂]
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -679,12 +679,10 @@ def toLinearMap (fₗ : M →+[R] M₂) : M →ₗ[R] M₂ :=
instance : Coe (M →+[R] M₂) (M →ₗ[R] M₂) :=
⟨toLinearMap⟩
-/- warning: distrib_mul_action_hom.to_linear_map_eq_coe clashes with [anonymous] -> [anonymous]
-Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.to_linear_map_eq_coe [anonymous]ₓ'. -/
@[simp]
-theorem [anonymous] (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
+theorem toLinearMap_eq_coe (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
rfl
-#align distrib_mul_action_hom.to_linear_map_eq_coe [anonymous]
+#align distrib_mul_action_hom.to_linear_map_eq_coe DistribMulActionHom.toLinearMap_eq_coe
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -362,7 +362,7 @@ theorem map_eq_zero_iff (h : Function.Injective f) {x : M} : f x = 0 ↔ x = 0 :
section Pointwise
-open Pointwise
+open scoped Pointwise
variable (M M₃ σ) {F : Type _} (h : F)
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -188,9 +188,6 @@ variable {F} (f : F) [i : SemilinearMapClass F σ M M₃]
include i
-/- warning: semilinear_map_class.map_smul_inv -> SemilinearMapClass.map_smul_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_invₓ'. -/
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_inv
@@ -233,28 +230,16 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
#align linear_map.to_distrib_mul_action_hom LinearMap.toDistribMulActionHom
-/
-/- warning: linear_map.to_fun_eq_coe -> LinearMap.toFun_eq_coe is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u3) (succ u4)} (M -> M₃) (LinearMap.toFun.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
-Case conversion may be inaccurate. Consider using '#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
rfl
#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coe
-/- warning: linear_map.ext -> LinearMap.ext is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.ext LinearMap.extₓ'. -/
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
FunLike.ext f g h
#align linear_map.ext LinearMap.ext
-/- warning: linear_map.copy -> LinearMap.copy is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.copy LinearMap.copyₓ'. -/
/-- Copy of a `linear_map` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : M →ₛₗ[σ] M₃
@@ -264,17 +249,11 @@ protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f)
map_smul' := h.symm ▸ f.map_smul'
#align linear_map.copy LinearMap.copy
-/- warning: linear_map.coe_copy -> LinearMap.coe_copy is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_copy LinearMap.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : ⇑(f.copy f' h) = f' :=
rfl
#align linear_map.coe_copy LinearMap.coe_copy
-/- warning: linear_map.copy_eq -> LinearMap.copy_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.copy_eq LinearMap.copy_eqₓ'. -/
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
FunLike.ext' h
#align linear_map.copy_eq LinearMap.copy_eq
@@ -287,9 +266,6 @@ protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+*
initialize_simps_projections LinearMap (toFun → apply)
-/- warning: linear_map.coe_mk -> LinearMap.coe_mk is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
((LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) : M → M₃) = f :=
@@ -303,22 +279,10 @@ def id : M →ₗ[R] M :=
#align linear_map.id LinearMap.id
-/
-/- warning: linear_map.id_apply -> LinearMap.id_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
-Case conversion may be inaccurate. Consider using '#align linear_map.id_apply LinearMap.id_applyₓ'. -/
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
rfl
#align linear_map.id_apply LinearMap.id_apply
-/- warning: linear_map.id_coe -> LinearMap.id_coe is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
-Case conversion may be inaccurate. Consider using '#align linear_map.id_coe LinearMap.id_coeₓ'. -/
@[simp, norm_cast]
theorem id_coe : ((LinearMap.id : M →ₗ[R] M) : M → M) = id :=
rfl
@@ -338,53 +302,29 @@ variable (σ : R →+* S)
variable (fₗ gₗ : M →ₗ[R] M₂) (f g : M →ₛₗ[σ] M₃)
-/- warning: linear_map.is_linear -> LinearMap.isLinear is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ)
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
-Case conversion may be inaccurate. Consider using '#align linear_map.is_linear LinearMap.isLinearₓ'. -/
theorem isLinear : IsLinearMap R fₗ :=
⟨fₗ.map_add', fₗ.map_smul'⟩
#align linear_map.is_linear LinearMap.isLinear
variable {fₗ gₗ f g σ}
-/- warning: linear_map.coe_injective -> LinearMap.coe_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)}, Function.Injective.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (M -> M₃) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (ᾰ : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)}, Function.Injective.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (M -> M₃) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (ᾰ : M) => M₃) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ))
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_injective LinearMap.coe_injectiveₓ'. -/
theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
FunLike.coe_injective
#align linear_map.coe_injective LinearMap.coe_injective
-/- warning: linear_map.congr_arg -> LinearMap.congr_arg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.congr_arg LinearMap.congr_argₓ'. -/
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
FunLike.congr_arg f
#align linear_map.congr_arg LinearMap.congr_arg
-/- warning: linear_map.congr_fun -> LinearMap.congr_fun is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.congr_fun LinearMap.congr_funₓ'. -/
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
FunLike.congr_fun h x
#align linear_map.congr_fun LinearMap.congr_fun
-/- warning: linear_map.ext_iff -> LinearMap.ext_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.ext_iff LinearMap.ext_iffₓ'. -/
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
FunLike.ext_iff
#align linear_map.ext_iff LinearMap.ext_iff
-/- warning: linear_map.mk_coe -> LinearMap.mk_coe is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.mk_coe LinearMap.mk_coeₓ'. -/
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
ext fun _ => rfl
@@ -392,49 +332,28 @@ theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h
variable (fₗ gₗ f g)
-/- warning: linear_map.map_add -> LinearMap.map_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_add LinearMap.map_addₓ'. -/
protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
map_add f x y
#align linear_map.map_add LinearMap.map_add
-/- warning: linear_map.map_zero -> LinearMap.map_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_zero LinearMap.map_zeroₓ'. -/
protected theorem map_zero : f 0 = 0 :=
map_zero f
#align linear_map.map_zero LinearMap.map_zero
-/- warning: linear_map.map_smulₛₗ -> LinearMap.map_smulₛₗ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
protected theorem map_smulₛₗ (c : R) (x : M) : f (c • x) = σ c • f x :=
map_smulₛₗ f c x
#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗ
-/- warning: linear_map.map_smul -> LinearMap.map_smul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) c (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ x))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
-Case conversion may be inaccurate. Consider using '#align linear_map.map_smul LinearMap.map_smulₓ'. -/
protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
map_smul fₗ c x
#align linear_map.map_smul LinearMap.map_smul
-/- warning: linear_map.map_smul_inv -> LinearMap.map_smul_inv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
#align linear_map.map_smul_inv LinearMap.map_smul_inv
-/- warning: linear_map.map_eq_zero_iff -> LinearMap.map_eq_zero_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iffₓ'. -/
-- TODO: generalize to `zero_hom_class`
@[simp]
theorem map_eq_zero_iff (h : Function.Injective f) {x : M} : f x = 0 ↔ x = 0 :=
@@ -447,9 +366,6 @@ open Pointwise
variable (M M₃ σ) {F : Type _} (h : F)
-/- warning: image_smul_setₛₗ -> image_smul_setₛₗ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align image_smul_setₛₗ image_smul_setₛₗₓ'. -/
@[simp]
theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
h '' (c • s) = σ c • h '' s := by
@@ -460,9 +376,6 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
exact (Set.mem_image _ _ _).2 ⟨c • z, Set.smul_mem_smul_set hz, map_smulₛₗ _ _ _⟩
#align image_smul_setₛₗ image_smul_setₛₗ
-/- warning: preimage_smul_setₛₗ -> preimage_smul_setₛₗ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align preimage_smul_setₛₗ preimage_smul_setₛₗₓ'. -/
theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
apply Set.Subset.antisymm
@@ -478,16 +391,10 @@ theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : I
variable (R M₂)
-/- warning: image_smul_set -> image_smul_set is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align image_smul_set image_smul_setₓ'. -/
theorem image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) : h '' (c • s) = c • h '' s :=
image_smul_setₛₗ _ _ _ h c s
#align image_smul_set image_smul_set
-/- warning: preimage_smul_set -> preimage_smul_set is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align preimage_smul_set preimage_smul_setₓ'. -/
theorem preimage_smul_set [LinearMapClass F R M M₂] {c : R} (hc : IsUnit c) (s : Set M₂) :
h ⁻¹' (c • s) = c • h ⁻¹' s :=
preimage_smul_setₛₗ _ _ _ h hc s
@@ -519,9 +426,6 @@ instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring
#align linear_map.is_scalar_tower.compatible_smul LinearMap.IsScalarTower.compatibleSMul
-/
-/- warning: linear_map.map_smul_of_tower -> LinearMap.map_smul_of_tower is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_of_tower LinearMap.map_smul_of_towerₓ'. -/
@[simp]
theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
[Module S M₂] [CompatibleSMul M M₂ R S] (fₗ : M →ₗ[S] M₂) (c : R) (x : M) :
@@ -538,12 +442,6 @@ def toAddMonoidHom : M →+ M₃ where
#align linear_map.to_add_monoid_hom LinearMap.toAddMonoidHom
-/
-/- warning: linear_map.to_add_monoid_hom_coe -> LinearMap.toAddMonoidHom_coe is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (fun (_x : AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) => M -> M₃) (AddMonoidHom.hasCoeToFun.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (LinearMap.toAddMonoidHom.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
-Case conversion may be inaccurate. Consider using '#align linear_map.to_add_monoid_hom_coe LinearMap.toAddMonoidHom_coeₓ'. -/
@[simp]
theorem toAddMonoidHom_coe : ⇑f.toAddMonoidHom = f :=
rfl
@@ -567,35 +465,20 @@ def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
#align linear_map.restrict_scalars LinearMap.restrictScalars
-/
-/- warning: linear_map.coe_restrict_scalars -> LinearMap.coe_restrictScalars is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalarsₓ'. -/
@[simp]
theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
rfl
#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalars
-/- warning: linear_map.restrict_scalars_apply -> LinearMap.restrictScalars_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_applyₓ'. -/
theorem restrictScalars_apply (fₗ : M →ₗ[S] M₂) (x) : restrictScalars R fₗ x = fₗ x :=
rfl
#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_apply
-/- warning: linear_map.restrict_scalars_injective -> LinearMap.restrictScalars_injective is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14], Function.Injective.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15)
-but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u4}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u4} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u4} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u3} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u4, u3, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u4} R M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u4} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u4} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (Module.toMulActionWithZero.{u1, u4} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u3} R M₂ (AddMonoid.toZero.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14], Function.Injective.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LinearMap.{u2, u2, u4, u3} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (LinearMap.{u1, u1, u4, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (LinearMap.restrictScalars.{u1, u2, u4, u3} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15)
-Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_injective LinearMap.restrictScalars_injectiveₓ'. -/
theorem restrictScalars_injective :
Function.Injective (restrictScalars R : (M →ₗ[S] M₂) → M →ₗ[R] M₂) := fun fₗ gₗ h =>
ext (LinearMap.congr_fun h : _)
#align linear_map.restrict_scalars_injective LinearMap.restrictScalars_injective
-/- warning: linear_map.restrict_scalars_inj -> LinearMap.restrictScalars_inj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_inj LinearMap.restrictScalars_injₓ'. -/
@[simp]
theorem restrictScalars_inj (fₗ gₗ : M →ₗ[S] M₂) :
fₗ.restrictScalars R = gₗ.restrictScalars R ↔ fₗ = gₗ :=
@@ -606,41 +489,20 @@ end RestrictScalars
variable {R}
-/- warning: linear_map.to_add_monoid_hom_injective -> LinearMap.toAddMonoidHom_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)}, Function.Injective.{max (succ u3) (succ u4), max (succ u4) (succ u3)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (LinearMap.toAddMonoidHom.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)}, Function.Injective.{max (succ u4) (succ u3), max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)
-Case conversion may be inaccurate. Consider using '#align linear_map.to_add_monoid_hom_injective LinearMap.toAddMonoidHom_injectiveₓ'. -/
theorem toAddMonoidHom_injective : Function.Injective (toAddMonoidHom : (M →ₛₗ[σ] M₃) → M →+ M₃) :=
fun f g h => ext <| AddMonoidHom.congr_fun h
#align linear_map.to_add_monoid_hom_injective LinearMap.toAddMonoidHom_injective
-/- warning: linear_map.ext_ring -> LinearMap.ext_ring is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) f g)
-but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
-Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring LinearMap.ext_ringₓ'. -/
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
@[ext]
theorem ext_ring {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
ext fun x => by rw [← mul_one x, ← smul_eq_mul, f.map_smulₛₗ, g.map_smulₛₗ, h]
#align linear_map.ext_ring LinearMap.ext_ring
-/- warning: linear_map.ext_ring_iff -> LinearMap.ext_ring_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] {σ : RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} {f : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10} {g : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10}, Iff (Eq.{max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) f g) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_iff LinearMap.ext_ring_iffₓ'. -/
theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1 = g 1 :=
⟨fun h => h ▸ rfl, ext_ring⟩
#align linear_map.ext_ring_iff LinearMap.ext_ring_iff
-/- warning: linear_map.ext_ring_op -> LinearMap.ext_ring_op is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_op LinearMap.ext_ring_opₓ'. -/
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
ext fun x => by rw [← one_mul x, ← op_smul_eq_mul, f.map_smulₛₗ, g.map_smulₛₗ, h]
@@ -692,9 +554,6 @@ infixr:80 " ∘ₗ " =>
include σ₁₃
-/- warning: linear_map.comp_apply -> LinearMap.comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_apply LinearMap.comp_applyₓ'. -/
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
#align linear_map.comp_apply LinearMap.comp_apply
@@ -703,9 +562,6 @@ omit σ₁₃
include σ₁₃
-/- warning: linear_map.coe_comp -> LinearMap.coe_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_comp LinearMap.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
rfl
@@ -713,17 +569,11 @@ theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
omit σ₁₃
-/- warning: linear_map.comp_id -> LinearMap.comp_id is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_id LinearMap.comp_idₓ'. -/
@[simp]
theorem comp_id : f.comp id = f :=
LinearMap.ext fun x => rfl
#align linear_map.comp_id LinearMap.comp_id
-/- warning: linear_map.id_comp -> LinearMap.id_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.id_comp LinearMap.id_compₓ'. -/
@[simp]
theorem id_comp : id.comp f = f :=
LinearMap.ext fun x => rfl
@@ -733,16 +583,10 @@ variable {f g} {f' : M₂ →ₛₗ[σ₂₃] M₃} {g' : M₁ →ₛₗ[σ₁
include σ₁₃
-/- warning: linear_map.cancel_right -> LinearMap.cancel_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.cancel_right LinearMap.cancel_rightₓ'. -/
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h => ext <| hg.forall.2 (ext_iff.1 h), fun h => h ▸ rfl⟩
#align linear_map.cancel_right LinearMap.cancel_right
-/- warning: linear_map.cancel_left -> LinearMap.cancel_left is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.cancel_left LinearMap.cancel_leftₓ'. -/
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h => ext fun x => hf <| by rw [← comp_apply, h, comp_apply], fun h => h ▸ rfl⟩
#align linear_map.cancel_left LinearMap.cancel_left
@@ -753,9 +597,6 @@ end
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
-/- warning: linear_map.inverse -> LinearMap.inverse is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.inverse LinearMap.inverseₓ'. -/
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
(f : M →ₛₗ[σ] M₂) (g : M₂ → M) (h₁ : LeftInverse g f) (h₂ : RightInverse g f) : M₂ →ₛₗ[σ'] M :=
@@ -777,16 +618,10 @@ variable {module_M : Module R M} {module_M₂ : Module S M₂} {σ : R →+* S}
variable (f : M →ₛₗ[σ] M₂)
-/- warning: linear_map.map_neg -> LinearMap.map_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_neg LinearMap.map_negₓ'. -/
protected theorem map_neg (x : M) : f (-x) = -f x :=
map_neg f x
#align linear_map.map_neg LinearMap.map_neg
-/- warning: linear_map.map_sub -> LinearMap.map_sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.map_sub LinearMap.map_subₓ'. -/
protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
#align linear_map.map_sub LinearMap.map_sub
@@ -845,31 +680,17 @@ instance : Coe (M →+[R] M₂) (M →ₗ[R] M₂) :=
⟨toLinearMap⟩
/- warning: distrib_mul_action_hom.to_linear_map_eq_coe clashes with [anonymous] -> [anonymous]
-warning: distrib_mul_action_hom.to_linear_map_eq_coe -> [anonymous] is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u_1}} {M : Type.{u_9}} {M₂ : Type.{u_11}} [_inst_1 : Semiring.{u_1} R] [_inst_2 : AddCommMonoid.{u_9} M] [_inst_3 : AddCommMonoid.{u_11} M₂] [_inst_4 : Module.{u_1, u_9} R M _inst_1 _inst_2] [_inst_5 : Module.{u_1, u_11} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u_1, u_9, u_11} R (MonoidWithZero.toMonoid.{u_1} R (Semiring.toMonoidWithZero.{u_1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u_9} M _inst_2) (Module.toDistribMulAction.{u_1, u_9} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u_11} M₂ _inst_3) (Module.toDistribMulAction.{u_1, u_11} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u_9) (succ u_11)} (LinearMap.{u_1, u_1, u_9, u_11} R R _inst_1 _inst_1 (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.toLinearMap.{u_1, u_9, u_11} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) ((fun (a : Sort.{max (succ u_9) (succ u_11)}) (b : Sort.{max (succ u_9) (succ u_11)}) [self : HasLiftT.{max (succ u_9) (succ u_11), max (succ u_9) (succ u_11)} a b] => self.0) (DistribMulActionHom.{u_1, u_9, u_11} R (MonoidWithZero.toMonoid.{u_1} R (Semiring.toMonoidWithZero.{u_1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u_9} M _inst_2) (Module.toDistribMulAction.{u_1, u_9} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u_11} M₂ _inst_3) (Module.toDistribMulAction.{u_1, u_11} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u_1, u_1, u_9, u_11} R R _inst_1 _inst_1 (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u_9) (succ u_11), max (succ u_9) (succ u_11)} (DistribMulActionHom.{u_1, u_9, u_11} R (MonoidWithZero.toMonoid.{u_1} R (Semiring.toMonoidWithZero.{u_1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u_9} M _inst_2) (Module.toDistribMulAction.{u_1, u_9} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u_11} M₂ _inst_3) (Module.toDistribMulAction.{u_1, u_11} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u_1, u_1, u_9, u_11} R R _inst_1 _inst_1 (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u_9) (succ u_11), max (succ u_9) (succ u_11)} (DistribMulActionHom.{u_1, u_9, u_11} R (MonoidWithZero.toMonoid.{u_1} R (Semiring.toMonoidWithZero.{u_1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u_9} M _inst_2) (Module.toDistribMulAction.{u_1, u_9} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u_11} M₂ _inst_3) (Module.toDistribMulAction.{u_1, u_11} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u_1, u_1, u_9, u_11} R R _inst_1 _inst_1 (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u_9) (succ u_11), max (succ u_9) (succ u_11)} (DistribMulActionHom.{u_1, u_9, u_11} R (MonoidWithZero.toMonoid.{u_1} R (Semiring.toMonoidWithZero.{u_1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u_9} M _inst_2) (Module.toDistribMulAction.{u_1, u_9} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u_11} M₂ _inst_3) (Module.toDistribMulAction.{u_1, u_11} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u_1, u_1, u_9, u_11} R R _inst_1 _inst_1 (RingHom.id.{u_1} R (Semiring.toNonAssocSemiring.{u_1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u_1, u_9, u_11} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)
-but is expected to have type
- forall {R : Type.{u}} {M : Type.{v}}, (Nat -> R -> M) -> Nat -> (List.{u} R) -> (List.{v} M)
Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.to_linear_map_eq_coe [anonymous]ₓ'. -/
@[simp]
theorem [anonymous] (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
rfl
#align distrib_mul_action_hom.to_linear_map_eq_coe [anonymous]
-/- warning: distrib_mul_action_hom.coe_to_linear_map -> DistribMulActionHom.coe_toLinearMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMapₓ'. -/
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
rfl
#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMap
-/- warning: distrib_mul_action_hom.to_linear_map_injective -> DistribMulActionHom.toLinearMap_injective is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] {f : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)} {g : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)}, (Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) g)) -> (Eq.{max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) f g)
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)} {g : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)}, (Eq.{max (succ u2) (succ u1)} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 g)) -> (Eq.{max (succ u2) (succ u1)} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) f g)
-Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.to_linear_map_injective DistribMulActionHom.toLinearMap_injectiveₓ'. -/
theorem toLinearMap_injective {f g : M →+[R] M₂} (h : (f : M →ₗ[R] M₂) = (g : M →ₗ[R] M₂)) :
f = g := by ext m; exact LinearMap.congr_fun h m
#align distrib_mul_action_hom.to_linear_map_injective DistribMulActionHom.toLinearMap_injective
@@ -896,23 +717,11 @@ def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
#align is_linear_map.mk' IsLinearMap.mk'
-/
-/- warning: is_linear_map.mk'_apply -> IsLinearMap.mk'_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (IsLinearMap.mk'.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
-Case conversion may be inaccurate. Consider using '#align is_linear_map.mk'_apply IsLinearMap.mk'_applyₓ'. -/
@[simp]
theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f x :=
rfl
#align is_linear_map.mk'_apply IsLinearMap.mk'_apply
-/- warning: is_linear_map.is_linear_map_smul -> IsLinearMap.isLinearMap_smul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_6 : CommSemiring.{u1} R] [_inst_7 : AddCommMonoid.{u2} M] [_inst_8 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_6) _inst_7] (c : R), IsLinearMap.{u1, u2, u2} R M M (CommSemiring.toSemiring.{u1} R _inst_6) _inst_7 _inst_7 _inst_8 _inst_8 (fun (z : M) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_7))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_6))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_7))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_6)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_7))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_6) _inst_7 _inst_8)))) c z)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_6 : CommSemiring.{u2} R] [_inst_7 : AddCommMonoid.{u1} M] [_inst_8 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R _inst_6) _inst_7] (c : R), IsLinearMap.{u2, u1, u1} R M M (CommSemiring.toSemiring.{u2} R _inst_6) _inst_7 _inst_7 _inst_8 _inst_8 (fun (z : M) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_7)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_6)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_7)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_6)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_7)) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R _inst_6) _inst_7 _inst_8))))) c z)
-Case conversion may be inaccurate. Consider using '#align is_linear_map.is_linear_map_smul IsLinearMap.isLinearMap_smulₓ'. -/
theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Module R M] (c : R) :
IsLinearMap R fun z : M => c • z :=
by
@@ -921,12 +730,6 @@ theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Modu
simp only [smul_smul, mul_comm]
#align is_linear_map.is_linear_map_smul IsLinearMap.isLinearMap_smul
-/- warning: is_linear_map.is_linear_map_smul' -> IsLinearMap.isLinearMap_smul' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_6 : Semiring.{u1} R] [_inst_7 : AddCommMonoid.{u2} M] [_inst_8 : Module.{u1, u2} R M _inst_6 _inst_7] (a : M), IsLinearMap.{u1, u1, u2} R R M _inst_6 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_6))) _inst_7 (Semiring.toModule.{u1} R _inst_6) _inst_8 (fun (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_7))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_6)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_7))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_6) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_7))) (Module.toMulActionWithZero.{u1, u2} R M _inst_6 _inst_7 _inst_8)))) c a)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_6 : Semiring.{u2} R] [_inst_7 : AddCommMonoid.{u1} M] [_inst_8 : Module.{u2, u1} R M _inst_6 _inst_7] (a : M), IsLinearMap.{u2, u2, u1} R R M _inst_6 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_6))) _inst_7 (Semiring.toModule.{u2} R _inst_6) _inst_8 (fun (c : R) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_7)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_6)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_7)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_6) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_7)) (Module.toMulActionWithZero.{u2, u1} R M _inst_6 _inst_7 _inst_8))))) c a)
-Case conversion may be inaccurate. Consider using '#align is_linear_map.is_linear_map_smul' IsLinearMap.isLinearMap_smul'ₓ'. -/
theorem isLinearMap_smul' {R M : Type _} [Semiring R] [AddCommMonoid M] [Module R M] (a : M) :
IsLinearMap R fun c : R => c • a :=
IsLinearMap.mk (fun x y => add_smul x y a) fun x y => mul_smul x y a
@@ -936,12 +739,6 @@ variable {f : M → M₂} (lin : IsLinearMap R f)
include M M₂ lin
-/- warning: is_linear_map.map_zero -> IsLinearMap.map_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] {f : M -> M₂}, (IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) -> (Eq.{succ u3} M₂ (f (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))) (OfNat.ofNat.{u3} M₂ 0 (OfNat.mk.{u3} M₂ 0 (Zero.zero.{u3} M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3)))))))
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_3 : AddCommMonoid.{u2} M₂] [_inst_4 : Module.{u3, u1} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u2} R M₂ _inst_1 _inst_3] {f : M -> M₂}, (IsLinearMap.{u3, u1, u2} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) -> (Eq.{succ u2} M₂ (f (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2))))) (OfNat.ofNat.{u2} M₂ 0 (Zero.toOfNat0.{u2} M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align is_linear_map.map_zero IsLinearMap.map_zeroₓ'. -/
theorem map_zero : f (0 : M) = (0 : M₂) :=
(lin.mk' f).map_zero
#align is_linear_map.map_zero IsLinearMap.map_zero
@@ -956,12 +753,6 @@ variable [Module R M] [Module R M₂]
include R
-/- warning: is_linear_map.is_linear_map_neg -> IsLinearMap.isLinearMap_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)], IsLinearMap.{u1, u2, u2} R M M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_4 _inst_4 (fun (z : M) => Neg.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))) z)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)], IsLinearMap.{u2, u1, u1} R M M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) _inst_4 _inst_4 (fun (z : M) => Neg.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) z)
-Case conversion may be inaccurate. Consider using '#align is_linear_map.is_linear_map_neg IsLinearMap.isLinearMap_negₓ'. -/
theorem isLinearMap_neg : IsLinearMap R fun z : M => -z :=
IsLinearMap.mk neg_add fun x y => (smul_neg x y).symm
#align is_linear_map.is_linear_map_neg IsLinearMap.isLinearMap_neg
@@ -970,22 +761,10 @@ variable {f : M → M₂} (lin : IsLinearMap R f)
include M M₂ lin
-/- warning: is_linear_map.map_neg -> IsLinearMap.map_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : AddCommGroup.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_3)] {f : M -> M₂}, (IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_3) _inst_4 _inst_5 f) -> (forall (x : M), Eq.{succ u3} M₂ (f (Neg.neg.{u2} M (SubNegMonoid.toHasNeg.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2))) x)) (Neg.neg.{u3} M₂ (SubNegMonoid.toHasNeg.{u3} M₂ (AddGroup.toSubNegMonoid.{u3} M₂ (AddCommGroup.toAddGroup.{u3} M₂ _inst_3))) (f x)))
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{u3, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_5 : Module.{u3, u2} R M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] {f : M -> M₂}, (IsLinearMap.{u3, u1, u2} R M M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_4 _inst_5 f) -> (forall (x : M), Eq.{succ u2} M₂ (f (Neg.neg.{u1} M (NegZeroClass.toNeg.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_2))))) x)) (Neg.neg.{u2} M₂ (NegZeroClass.toNeg.{u2} M₂ (SubNegZeroMonoid.toNegZeroClass.{u2} M₂ (SubtractionMonoid.toSubNegZeroMonoid.{u2} M₂ (SubtractionCommMonoid.toSubtractionMonoid.{u2} M₂ (AddCommGroup.toDivisionAddCommMonoid.{u2} M₂ _inst_3))))) (f x)))
-Case conversion may be inaccurate. Consider using '#align is_linear_map.map_neg IsLinearMap.map_negₓ'. -/
theorem map_neg (x : M) : f (-x) = -f x :=
(lin.mk' f).map_neg x
#align is_linear_map.map_neg IsLinearMap.map_neg
-/- warning: is_linear_map.map_sub -> IsLinearMap.map_sub is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : AddCommGroup.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_3)] {f : M -> M₂}, (IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_3) _inst_4 _inst_5 f) -> (forall (x : M) (y : M), Eq.{succ u3} M₂ (f (HSub.hSub.{u2, u2, u2} M M M (instHSub.{u2} M (SubNegMonoid.toHasSub.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_2)))) x y)) (HSub.hSub.{u3, u3, u3} M₂ M₂ M₂ (instHSub.{u3} M₂ (SubNegMonoid.toHasSub.{u3} M₂ (AddGroup.toSubNegMonoid.{u3} M₂ (AddCommGroup.toAddGroup.{u3} M₂ _inst_3)))) (f x) (f y)))
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommGroup.{u1} M] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{u3, u1} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2)] [_inst_5 : Module.{u3, u2} R M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] {f : M -> M₂}, (IsLinearMap.{u3, u1, u2} R M M₂ _inst_1 (AddCommGroup.toAddCommMonoid.{u1} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_4 _inst_5 f) -> (forall (x : M) (y : M), Eq.{succ u2} M₂ (f (HSub.hSub.{u1, u1, u1} M M M (instHSub.{u1} M (SubNegMonoid.toSub.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_2)))) x y)) (HSub.hSub.{u2, u2, u2} M₂ M₂ M₂ (instHSub.{u2} M₂ (SubNegMonoid.toSub.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3)))) (f x) (f y)))
-Case conversion may be inaccurate. Consider using '#align is_linear_map.map_sub IsLinearMap.map_subₓ'. -/
theorem map_sub (x y) : f (x - y) = f x - f y :=
(lin.mk' f).map_sub x y
#align is_linear_map.map_sub IsLinearMap.map_sub
@@ -1012,23 +791,11 @@ def AddMonoidHom.toNatLinearMap [AddCommMonoid M] [AddCommMonoid M₂] (f : M
#align add_monoid_hom.to_nat_linear_map AddMonoidHom.toNatLinearMap
-/
-/- warning: add_monoid_hom.to_nat_linear_map_injective -> AddMonoidHom.toNatLinearMap_injective is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommMonoid.{u1} M] [_inst_2 : AddCommMonoid.{u2} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_1)) (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_2))) (LinearMap.{0, 0, u1, u2} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) M M₂ _inst_1 _inst_2 (AddCommMonoid.natModule.{u1} M _inst_1) (AddCommMonoid.natModule.{u2} M₂ _inst_2)) (AddMonoidHom.toNatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2)
-but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u1} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_2))) (LinearMap.{0, 0, u2, u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) M M₂ _inst_1 _inst_2 (AddCommMonoid.natModule.{u2} M _inst_1) (AddCommMonoid.natModule.{u1} M₂ _inst_2)) (AddMonoidHom.toNatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_nat_linear_map_injective AddMonoidHom.toNatLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toNatLinearMap_injective [AddCommMonoid M] [AddCommMonoid M₂] :
Function.Injective (@AddMonoidHom.toNatLinearMap M M₂ _ _) := by intro f g h; ext;
exact LinearMap.congr_fun h x
#align add_monoid_hom.to_nat_linear_map_injective AddMonoidHom.toNatLinearMap_injective
-/- warning: add_monoid_hom.to_int_linear_map -> AddMonoidHom.toIntLinearMap is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) -> (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2))
-but is expected to have type
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) -> (LinearMap.{0, 0, u1, u2} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2))
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_int_linear_map AddMonoidHom.toIntLinearMapₓ'. -/
/-- Reinterpret an additive homomorphism as a `ℤ`-linear map. -/
def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) : M →ₗ[ℤ] M₂
where
@@ -1037,23 +804,11 @@ def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+
map_smul' := map_zsmul f
#align add_monoid_hom.to_int_linear_map AddMonoidHom.toIntLinearMap
-/- warning: add_monoid_hom.to_int_linear_map_injective -> AddMonoidHom.toIntLinearMap_injective is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2)
-but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_int_linear_map_injective AddMonoidHom.toIntLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M₂] :
Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) := by intro f g h; ext;
exact LinearMap.congr_fun h x
#align add_monoid_hom.to_int_linear_map_injective AddMonoidHom.toIntLinearMap_injective
-/- warning: add_monoid_hom.coe_to_int_linear_map -> AddMonoidHom.coe_toIntLinearMap is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (fun (_x : LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Int Int M M₂ Int.semiring Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring))) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) f)
-but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_int_linear_map AddMonoidHom.coe_toIntLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) :
⇑f.toIntLinearMap = f :=
@@ -1068,23 +823,11 @@ def AddMonoidHom.toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M
#align add_monoid_hom.to_rat_linear_map AddMonoidHom.toRatLinearMap
-/
-/- warning: add_monoid_hom.to_rat_linear_map_injective -> AddMonoidHom.toRatLinearMap_injective is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)], Function.Injective.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4)
-but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4)
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_rat_linear_map_injective AddMonoidHom.toRatLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
[Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) := by
intro f g h; ext; exact LinearMap.congr_fun h x
#align add_monoid_hom.to_rat_linear_map_injective AddMonoidHom.toRatLinearMap_injective
-/- warning: add_monoid_hom.coe_to_rat_linear_map -> AddMonoidHom.coe_toRatLinearMap is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (fun (_x : LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) f)
-but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
-Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_rat_linear_map AddMonoidHom.coe_toRatLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
[Module ℚ M₂] (f : M →+ M₂) : ⇑f.toRatLinearMap = f :=
@@ -1115,17 +858,11 @@ instance : SMul S (M →ₛₗ[σ₁₂] M₂) :=
map_add' := fun x y => by simp only [Pi.smul_apply, f.map_add, smul_add]
map_smul' := fun c x => by simp [Pi.smul_apply, smul_comm (σ₁₂ c)] }⟩
-/- warning: linear_map.smul_apply -> LinearMap.smul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.smul_apply LinearMap.smul_applyₓ'. -/
@[simp]
theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f) x = a • f x :=
rfl
#align linear_map.smul_apply LinearMap.smul_apply
-/- warning: linear_map.coe_smul -> LinearMap.coe_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_smul LinearMap.coe_smulₓ'. -/
theorem coe_smul (a : S) (f : M →ₛₗ[σ₁₂] M₂) : ⇑(a • f) = a • f :=
rfl
#align linear_map.coe_smul LinearMap.coe_smul
@@ -1166,25 +903,16 @@ instance : Zero (M →ₛₗ[σ₁₂] M₂) :=
map_add' := by simp
map_smul' := by simp }⟩
-/- warning: linear_map.zero_apply -> LinearMap.zero_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.zero_apply LinearMap.zero_applyₓ'. -/
@[simp]
theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
rfl
#align linear_map.zero_apply LinearMap.zero_apply
-/- warning: linear_map.comp_zero -> LinearMap.comp_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_zero LinearMap.comp_zeroₓ'. -/
@[simp]
theorem comp_zero (g : M₂ →ₛₗ[σ₂₃] M₃) : (g.comp (0 : M →ₛₗ[σ₁₂] M₂) : M →ₛₗ[σ₁₃] M₃) = 0 :=
ext fun c => by rw [comp_apply, zero_apply, zero_apply, g.map_zero]
#align linear_map.comp_zero LinearMap.comp_zero
-/- warning: linear_map.zero_comp -> LinearMap.zero_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.zero_comp LinearMap.zero_compₓ'. -/
@[simp]
theorem zero_comp (f : M →ₛₗ[σ₁₂] M₂) : ((0 : M₂ →ₛₗ[σ₂₃] M₃).comp f : M →ₛₗ[σ₁₃] M₃) = 0 :=
rfl
@@ -1193,12 +921,6 @@ theorem zero_comp (f : M →ₛₗ[σ₁₂] M₂) : ((0 : M₂ →ₛₗ[σ₂
instance : Inhabited (M →ₛₗ[σ₁₂] M₂) :=
⟨0⟩
-/- warning: linear_map.default_def -> LinearMap.default_def is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)}, Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (Inhabited.default.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.inhabited.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) (OfNat.ofNat.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (OfNat.mk.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.zero.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasZero.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))))
-but is expected to have type
- forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u4}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u3} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)}, Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (Inhabited.default.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instInhabitedLinearMap.{u2, u1, u4, u3} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) (OfNat.ofNat.{max u4 u3} (LinearMap.{u2, u1, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u4 u3} (LinearMap.{u2, u1, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u4, u3} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)))
-Case conversion may be inaccurate. Consider using '#align linear_map.default_def LinearMap.default_defₓ'. -/
@[simp]
theorem default_def : (default : M →ₛₗ[σ₁₂] M₂) = 0 :=
rfl
@@ -1211,25 +933,16 @@ instance : Add (M →ₛₗ[σ₁₂] M₂) :=
map_add' := by simp [add_comm, add_left_comm]
map_smul' := by simp [smul_add] }⟩
-/- warning: linear_map.add_apply -> LinearMap.add_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.add_apply LinearMap.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x + g x :=
rfl
#align linear_map.add_apply LinearMap.add_apply
-/- warning: linear_map.add_comp -> LinearMap.add_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.add_comp LinearMap.add_compₓ'. -/
theorem add_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃] M₃) :
((h + g).comp f : M →ₛₗ[σ₁₃] M₃) = h.comp f + g.comp f :=
rfl
#align linear_map.add_comp LinearMap.add_comp
-/- warning: linear_map.comp_add -> LinearMap.comp_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_add LinearMap.comp_addₓ'. -/
theorem comp_add (f g : M →ₛₗ[σ₁₂] M₂) (h : M₂ →ₛₗ[σ₂₃] M₃) :
(h.comp (f + g) : M →ₛₗ[σ₁₃] M₃) = h.comp f + h.comp g :=
ext fun _ => h.map_add _ _
@@ -1246,9 +959,6 @@ instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
map_add' := by simp [add_comm]
map_smul' := by simp }⟩
-/- warning: linear_map.neg_apply -> LinearMap.neg_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.neg_apply LinearMap.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
rfl
@@ -1256,17 +966,11 @@ theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
include σ₁₃
-/- warning: linear_map.neg_comp -> LinearMap.neg_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.neg_comp LinearMap.neg_compₓ'. -/
@[simp]
theorem neg_comp (f : M →ₛₗ[σ₁₂] M₂) (g : M₂ →ₛₗ[σ₂₃] N₃) : (-g).comp f = -g.comp f :=
rfl
#align linear_map.neg_comp LinearMap.neg_comp
-/- warning: linear_map.comp_neg -> LinearMap.comp_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_neg LinearMap.comp_negₓ'. -/
@[simp]
theorem comp_neg (f : M →ₛₗ[σ₁₂] N₂) (g : N₂ →ₛₗ[σ₂₃] N₃) : g.comp (-f) = -g.comp f :=
ext fun _ => g.map_neg _
@@ -1281,9 +985,6 @@ instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
map_add' := fun x y => by simp only [Pi.sub_apply, map_add, add_sub_add_comm]
map_smul' := fun r x => by simp [Pi.sub_apply, map_smul, smul_sub] }⟩
-/- warning: linear_map.sub_apply -> LinearMap.sub_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.sub_apply LinearMap.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x - g x :=
rfl
@@ -1291,17 +992,11 @@ theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x -
include σ₁₃
-/- warning: linear_map.sub_comp -> LinearMap.sub_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.sub_comp LinearMap.sub_compₓ'. -/
theorem sub_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃] N₃) :
(g - h).comp f = g.comp f - h.comp f :=
rfl
#align linear_map.sub_comp LinearMap.sub_comp
-/- warning: linear_map.comp_sub -> LinearMap.comp_sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_sub LinearMap.comp_subₓ'. -/
theorem comp_sub (f g : M →ₛₗ[σ₁₂] N₂) (h : N₂ →ₛₗ[σ₂₃] N₃) :
h.comp (g - f) = h.comp g - h.comp f :=
ext fun _ => h.map_sub _ _
@@ -1343,9 +1038,6 @@ instance : DistribMulAction S (M →ₛₗ[σ₁₂] M₂)
include σ₁₃
-/- warning: linear_map.smul_comp -> LinearMap.smul_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.smul_comp LinearMap.smul_compₓ'. -/
theorem smul_comp (a : S₃) (g : M₂ →ₛₗ[σ₂₃] M₃) (f : M →ₛₗ[σ₁₂] M₂) :
(a • g).comp f = a • g.comp f :=
rfl
@@ -1353,9 +1045,6 @@ theorem smul_comp (a : S₃) (g : M₂ →ₛₗ[σ₂₃] M₃) (f : M →ₛ
omit σ₁₃
-/- warning: linear_map.comp_smul -> LinearMap.comp_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_map.comp_smul LinearMap.comp_smulₓ'. -/
-- TODO: generalize this to semilinear maps
theorem comp_smul [Module R M₂] [Module R M₃] [SMulCommClass R S M₂] [DistribMulAction S M₃]
[SMulCommClass R S M₃] [CompatibleSMul M₃ M₂ S R] (g : M₃ →ₗ[R] M₂) (a : S) (f : M →ₗ[R] M₃) :
@@ -1404,54 +1093,24 @@ theorem one_eq_id : (1 : Module.End R M) = id :=
#align linear_map.one_eq_id LinearMap.one_eq_id
-/
-/- warning: linear_map.mul_eq_comp -> LinearMap.mul_eq_comp is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4), Eq.{succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g) (LinearMap.comp.{u1, u1, u1, u2, u2, u2} R R R M M M _inst_1 _inst_1 _inst_1 _inst_2 _inst_2 _inst_2 _inst_4 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.right_ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f g)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) (LinearMap.comp.{u2, u2, u2, u1, u1, u1} R R R M M M _inst_1 _inst_1 _inst_1 _inst_2 _inst_2 _inst_2 _inst_4 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomCompTriple.ids.{u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f g)
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_eq_comp LinearMap.mul_eq_compₓ'. -/
theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
rfl
#align linear_map.mul_eq_comp LinearMap.mul_eq_comp
-/- warning: linear_map.one_apply -> LinearMap.one_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) x) x
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
-Case conversion may be inaccurate. Consider using '#align linear_map.one_apply LinearMap.one_applyₓ'. -/
@[simp]
theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
rfl
#align linear_map.one_apply LinearMap.one_apply
-/- warning: linear_map.mul_apply -> LinearMap.mul_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g) x) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g x))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
-Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply LinearMap.mul_applyₓ'. -/
@[simp]
theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
rfl
#align linear_map.mul_apply LinearMap.mul_apply
-/- warning: linear_map.coe_one -> LinearMap.coe_one is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (id.{succ u2} M)
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_one LinearMap.coe_oneₓ'. -/
theorem coe_one : ⇑(1 : Module.End R M) = id :=
rfl
#align linear_map.coe_one LinearMap.coe_one
-/- warning: linear_map.coe_mul -> LinearMap.coe_mul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4), Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u2, succ u2, succ u2} M M M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g))
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
-Case conversion may be inaccurate. Consider using '#align linear_map.coe_mul LinearMap.coe_mulₓ'. -/
theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
#align linear_map.coe_mul LinearMap.coe_mul
@@ -1485,12 +1144,6 @@ instance Module.End.semiring : Semiring (Module.End R M) :=
#align module.End.semiring Module.End.semiring
-/
-/- warning: module.End.nat_cast_apply -> Module.End.natCast_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Nat.castCoe.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)))))))) n) m) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) n m)
-but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
-Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_apply Module.End.natCast_applyₓ'. -/
/-- See also `module.End.nat_cast_def`. -/
@[simp]
theorem Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R M) m = n • m :=
@@ -1507,12 +1160,6 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
#align module.End.ring Module.End.ring
-/
-/- warning: module.End.int_cast_apply -> Module.End.intCast_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} N₁ (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) N₁ N₁ (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5) => N₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5))))))) z) m) (SMul.smul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3))) z m)
-but is expected to have type
- forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
-Case conversion may be inaccurate. Consider using '#align module.End.int_cast_apply Module.End.intCast_applyₓ'. -/
/-- See also `module.End.int_cast_def`. -/
@[simp]
theorem Module.End.intCast_apply (z : ℤ) (m : N₁) : (↑z : Module.End R N₁) m = z • m :=
@@ -1523,33 +1170,15 @@ section
variable [Monoid S] [DistribMulAction S M] [SMulCommClass R S M]
-/- warning: module.End.is_scalar_tower -> Module.End.isScalarTower is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Monoid.{u2} S] [_inst_7 : DistribMulAction.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} R S M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsScalarTower.{u2, u3, u3} S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.hasSmul.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8) (Mul.toSMul.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u3} R M _inst_1 _inst_2 _inst_4)) (LinearMap.hasSmul.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8)
-but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Monoid.{u2} S] [_inst_7 : DistribMulAction.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} R S M (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], IsScalarTower.{u2, u3, u3} S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instSMulLinearMap.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8) (SMulZeroClass.toSMul.{u3, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (SMulWithZero.toSMulZeroClass.{u3, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (MulZeroClass.toSMulWithZero.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u3} R M _inst_1 _inst_2 _inst_4))))))) (LinearMap.instSMulLinearMap.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8)
-Case conversion may be inaccurate. Consider using '#align module.End.is_scalar_tower Module.End.isScalarTowerₓ'. -/
instance Module.End.isScalarTower : IsScalarTower S (Module.End R M) (Module.End R M) :=
⟨smul_comp⟩
#align module.End.is_scalar_tower Module.End.isScalarTower
-/- warning: module.End.smul_comm_class -> Module.End.smulCommClass is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Monoid.{u2} S] [_inst_7 : DistribMulAction.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} R S M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))] [_inst_9 : SMul.{u2, u1} S R] [_inst_10 : IsScalarTower.{u2, u1, u3} S R M _inst_9 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], SMulCommClass.{u2, u3, u3} S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.hasSmul.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8) (Mul.toSMul.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u3} R M _inst_1 _inst_2 _inst_4))
-but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Monoid.{u2} S] [_inst_7 : DistribMulAction.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} R S M (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))] [_inst_9 : SMul.{u2, u1} S R] [_inst_10 : IsScalarTower.{u2, u1, u3} S R M _inst_9 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], SMulCommClass.{u2, u3, u3} S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instSMulLinearMap.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8) (SMulZeroClass.toSMul.{u3, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (SMulWithZero.toSMulZeroClass.{u3, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (MulZeroClass.toSMulWithZero.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u3} R M _inst_1 _inst_2 _inst_4)))))))
-Case conversion may be inaccurate. Consider using '#align module.End.smul_comm_class Module.End.smulCommClassₓ'. -/
instance Module.End.smulCommClass [SMul S R] [IsScalarTower S R M] :
SMulCommClass S (Module.End R M) (Module.End R M) :=
⟨fun s _ _ => (comp_smul _ s _).symm⟩
#align module.End.smul_comm_class Module.End.smulCommClass
-/- warning: module.End.smul_comm_class' -> Module.End.smulCommClass' is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Monoid.{u2} S] [_inst_7 : DistribMulAction.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} R S M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))] [_inst_9 : SMul.{u2, u1} S R] [_inst_10 : IsScalarTower.{u2, u1, u3} S R M _inst_9 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], SMulCommClass.{u3, u2, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Mul.toSMul.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u3} R M _inst_1 _inst_2 _inst_4)) (LinearMap.hasSmul.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8)
-but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_6 : Monoid.{u2} S] [_inst_7 : DistribMulAction.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_8 : SMulCommClass.{u1, u2, u3} R S M (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))] [_inst_9 : SMul.{u2, u1} S R] [_inst_10 : IsScalarTower.{u2, u1, u3} S R M _inst_9 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_6 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_7)))], SMulCommClass.{u3, u2, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (SMulZeroClass.toSMul.{u3, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (SMulWithZero.toSMulZeroClass.{u3, u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.instZeroLinearMap.{u1, u1, u3, u3} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (MulZeroClass.toSMulWithZero.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u3} R M _inst_1 _inst_2 _inst_4))))))) (LinearMap.instSMulLinearMap.{u1, u1, u2, u3, u3} R R S M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_6 _inst_7 _inst_8)
-Case conversion may be inaccurate. Consider using '#align module.End.smul_comm_class' Module.End.smulCommClass'ₓ'. -/
instance Module.End.smulCommClass' [SMul S R] [IsScalarTower S R M] :
SMulCommClass (Module.End R M) S (Module.End R M) :=
SMulCommClass.symm _ _ _
@@ -1576,12 +1205,6 @@ instance applyModule : Module (Module.End R M) M
#align linear_map.apply_module LinearMap.applyModule
-/
-/- warning: linear_map.smul_def -> LinearMap.smul_def is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u2} M (SMul.smul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toHasSmul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (MulZeroClass.toHasZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MulZeroOneClass.toMulZeroClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MonoidWithZero.toMulZeroOneClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) f a) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f a)
-but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
-Case conversion may be inaccurate. Consider using '#align linear_map.smul_def LinearMap.smul_defₓ'. -/
@[simp]
protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
rfl
@@ -1626,12 +1249,6 @@ variable (R M) [Semiring R] [AddCommMonoid M] [Module R M]
variable [Monoid S] [DistribMulAction S M] [SMulCommClass S R M]
-/- warning: distrib_mul_action.to_linear_map -> DistribMulAction.toLinearMap is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S : Type.{u2}} (M : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u2} S] [_inst_5 : DistribMulAction.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u2, u1, u3} S R M (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_3))))], S -> (LinearMap.{u1, u1, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_3 _inst_3)
-but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u2}} (M : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u2} S] [_inst_5 : DistribMulAction.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u2, u1, u3} S R M (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_3))))], S -> (LinearMap.{u1, u1, u3, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_3 _inst_3)
-Case conversion may be inaccurate. Consider using '#align distrib_mul_action.to_linear_map DistribMulAction.toLinearMapₓ'. -/
/-- Each element of the monoid defines a linear map.
This is a stronger version of `distrib_mul_action.to_add_monoid_hom`. -/
@@ -1642,12 +1259,6 @@ def toLinearMap (s : S) : M →ₗ[R] M where
map_smul' a b := smul_comm _ _ _
#align distrib_mul_action.to_linear_map DistribMulAction.toLinearMap
-/- warning: distrib_mul_action.to_module_End -> DistribMulAction.toModuleEnd is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S : Type.{u2}} (M : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u2} S] [_inst_5 : DistribMulAction.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u2, u1, u3} S R M (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (DistribSMul.toSmulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_3))))], MonoidHom.{u2, u3} S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Monoid.toMulOneClass.{u2} S _inst_4) (MulZeroOneClass.toMulOneClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.End.semiring.{u1, u3} R M _inst_1 _inst_2 _inst_3))))
-but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u2}} (M : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u1, u3} R M _inst_1 _inst_2] [_inst_4 : Monoid.{u2} S] [_inst_5 : DistribMulAction.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2)] [_inst_6 : SMulCommClass.{u2, u1, u3} S R M (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribSMul.toSMulZeroClass.{u2, u3} S M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (DistribMulAction.toDistribSMul.{u2, u3} S M _inst_4 (AddCommMonoid.toAddMonoid.{u3} M _inst_2) _inst_5))) (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_2 _inst_3))))], MonoidHom.{u2, u3} S (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Monoid.toMulOneClass.{u2} S _inst_4) (MulZeroOneClass.toMulOneClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (NonAssocSemiring.toMulZeroOneClass.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u1, u3} R M _inst_1 _inst_2 _inst_3) (Module.End.semiring.{u1, u3} R M _inst_1 _inst_2 _inst_3))))
-Case conversion may be inaccurate. Consider using '#align distrib_mul_action.to_module_End DistribMulAction.toModuleEndₓ'. -/
/-- Each element of the monoid defines a module endomorphism.
This is a stronger version of `distrib_mul_action.to_add_monoid_End`. -/
@@ -1682,12 +1293,6 @@ def toModuleEnd : S →+* Module.End R M :=
#align module.to_module_End Module.toModuleEnd
-/
-/- warning: module.module_End_self -> Module.moduleEndSelf is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} R) (Module.End.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (MulOpposite.hasAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (LinearMap.module.End.hasMul.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (LinearMap.hasAdd.{u1, u1, u1, u1} R R R R _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))
-but is expected to have type
- forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} R) (Module.End.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.mul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.instMulEnd.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.add.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (LinearMap.instAddLinearMap.{u1, u1, u1, u1} R R R R _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align module.module_End_self Module.moduleEndSelfₓ'. -/
/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `module.End R R` induced by the right
multiplication. -/
@[simps]
@@ -1699,12 +1304,6 @@ def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.End R R :=
right_inv := fun f => LinearMap.ext_ring <| one_mul _ }
#align module.module_End_self Module.moduleEndSelf
-/- warning: module.module_End_self_op -> Module.moduleEndSelfOp is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} R (Module.End.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.module.End.hasMul.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (LinearMap.hasAdd.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) R R (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1) (Semiring.toOppositeModule.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))
-but is expected to have type
- forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} R (Module.End.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.instMulEnd.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.instAddLinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) R R (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1) (Semiring.toOppositeModule.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align module.module_End_self_op Module.moduleEndSelfOpₓ'. -/
/-- The canonical (semi)ring isomorphism from `R` to `module.End Rᵐᵒᵖ R` induced by the left
multiplication. -/
@[simps]
@@ -1716,23 +1315,11 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
right_inv := fun f => LinearMap.ext_ring_op <| mul_one _ }
#align module.module_End_self_op Module.moduleEndSelfOp
-/- warning: module.End.nat_cast_def -> Module.End.natCast_def is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))))) n) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (fun (_x : RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) => Nat -> (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.hasCoeToFun.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
-but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
-Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_def Module.End.natCast_defₓ'. -/
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
(↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
rfl
#align module.End.nat_cast_def Module.End.natCast_def
-/- warning: module.End.int_cast_def -> Module.End.intCast_def is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))))))) z) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (fun (_x : RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) => Int -> (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.hasCoeToFun.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.semiring (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
-but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
-Case conversion may be inaccurate. Consider using '#align module.End.int_cast_def Module.End.intCast_defₓ'. -/
theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
(↑z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -173,10 +173,7 @@ instance (priority := 100) [SemilinearMapClass F σ M M₃] : AddMonoidHomClass
SemilinearMapClass.toAddHomClass F σ M
M₃ with
coe := fun f => (f : M → M₃)
- map_zero := fun f =>
- show f 0 = 0 by
- rw [← zero_smul R (0 : M), map_smulₛₗ]
- simp }
+ map_zero := fun f => show f 0 = 0 by rw [← zero_smul R (0 : M), map_smulₛₗ]; simp }
-- `R` is an `out_param` so it's not dangerous
@[nolint dangerous_instance]
@@ -441,11 +438,7 @@ Case conversion may be inaccurate. Consider using '#align linear_map.map_eq_zero
-- TODO: generalize to `zero_hom_class`
@[simp]
theorem map_eq_zero_iff (h : Function.Injective f) {x : M} : f x = 0 ↔ x = 0 :=
- ⟨fun w => by
- apply h
- simp [w], fun w => by
- subst w
- simp⟩
+ ⟨fun w => by apply h; simp [w], fun w => by subst w; simp⟩
#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iff
section Pointwise
@@ -771,9 +764,7 @@ def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [Rin
exact
{ toFun := g
map_add' := fun x y => by rw [← h₁ (g (x + y)), ← h₁ (g x + g y)] <;> simp [h₂]
- map_smul' := fun a b => by
- rw [← h₁ (g (a • b)), ← h₁ (σ' a • g b)]
- simp [h₂] }
+ map_smul' := fun a b => by rw [← h₁ (g (a • b)), ← h₁ (σ' a • g b)]; simp [h₂] }
#align linear_map.inverse LinearMap.inverse
end AddCommMonoid
@@ -880,9 +871,7 @@ but is expected to have type
forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)} {g : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)}, (Eq.{max (succ u2) (succ u1)} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 g)) -> (Eq.{max (succ u2) (succ u1)} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) f g)
Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.to_linear_map_injective DistribMulActionHom.toLinearMap_injectiveₓ'. -/
theorem toLinearMap_injective {f g : M →+[R] M₂} (h : (f : M →ₗ[R] M₂) = (g : M →ₗ[R] M₂)) :
- f = g := by
- ext m
- exact LinearMap.congr_fun h m
+ f = g := by ext m; exact LinearMap.congr_fun h m
#align distrib_mul_action_hom.to_linear_map_injective DistribMulActionHom.toLinearMap_injective
end DistribMulActionHom
@@ -1030,10 +1019,7 @@ but is expected to have type
forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommMonoid.{u2} M] [_inst_2 : AddCommMonoid.{u1} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_1)) (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_2))) (LinearMap.{0, 0, u2, u1} Nat Nat Nat.semiring Nat.semiring (RingHom.id.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) M M₂ _inst_1 _inst_2 (AddCommMonoid.natModule.{u2} M _inst_1) (AddCommMonoid.natModule.{u1} M₂ _inst_2)) (AddMonoidHom.toNatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_nat_linear_map_injective AddMonoidHom.toNatLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toNatLinearMap_injective [AddCommMonoid M] [AddCommMonoid M₂] :
- Function.Injective (@AddMonoidHom.toNatLinearMap M M₂ _ _) :=
- by
- intro f g h
- ext
+ Function.Injective (@AddMonoidHom.toNatLinearMap M M₂ _ _) := by intro f g h; ext;
exact LinearMap.congr_fun h x
#align add_monoid_hom.to_nat_linear_map_injective AddMonoidHom.toNatLinearMap_injective
@@ -1058,10 +1044,7 @@ but is expected to have type
forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_int_linear_map_injective AddMonoidHom.toIntLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M₂] :
- Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) :=
- by
- intro f g h
- ext
+ Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) := by intro f g h; ext;
exact LinearMap.congr_fun h x
#align add_monoid_hom.to_int_linear_map_injective AddMonoidHom.toIntLinearMap_injective
@@ -1092,11 +1075,8 @@ but is expected to have type
forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_rat_linear_map_injective AddMonoidHom.toRatLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
- [Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) :=
- by
- intro f g h
- ext
- exact LinearMap.congr_fun h x
+ [Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) := by
+ intro f g h; ext; exact LinearMap.congr_fun h x
#align add_monoid_hom.to_rat_linear_map_injective AddMonoidHom.toRatLinearMap_injective
/- warning: add_monoid_hom.coe_to_rat_linear_map -> AddMonoidHom.coe_toRatLinearMap is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -192,10 +192,7 @@ variable {F} (f : F) [i : SemilinearMapClass F σ M M₃]
include i
/- warning: semilinear_map_class.map_smul_inv -> SemilinearMapClass.map_smul_inv is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} {F : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : F) [i : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f x)) (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_invₓ'. -/
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -251,10 +248,7 @@ theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coe
/- warning: linear_map.ext -> LinearMap.ext is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.ext LinearMap.extₓ'. -/
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
@@ -262,10 +256,7 @@ theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
#align linear_map.ext LinearMap.ext
/- warning: linear_map.copy -> LinearMap.copy is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
-but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.copy LinearMap.copyₓ'. -/
/-- Copy of a `linear_map` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -277,10 +268,7 @@ protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f)
#align linear_map.copy LinearMap.copy
/- warning: linear_map.coe_copy -> LinearMap.coe_copy is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.coe_copy LinearMap.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : ⇑(f.copy f' h) = f' :=
@@ -288,10 +276,7 @@ theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) :
#align linear_map.coe_copy LinearMap.coe_copy
/- warning: linear_map.copy_eq -> LinearMap.copy_eq is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.copy_eq LinearMap.copy_eqₓ'. -/
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
FunLike.ext' h
@@ -306,10 +291,7 @@ protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+*
initialize_simps_projections LinearMap (toFun → apply)
/- warning: linear_map.coe_mk -> LinearMap.coe_mk is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : M -> M₃) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (f x) (f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (f x))), Eq.{max (succ u3) (succ u4)} ((fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) f
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
@@ -382,20 +364,14 @@ theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
#align linear_map.coe_injective LinearMap.coe_injective
/- warning: linear_map.congr_arg -> LinearMap.congr_arg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u3} M x x') -> (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.congr_arg LinearMap.congr_argₓ'. -/
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
FunLike.congr_arg f
#align linear_map.congr_arg LinearMap.congr_arg
/- warning: linear_map.congr_fun -> LinearMap.congr_fun is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.congr_fun LinearMap.congr_funₓ'. -/
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
@@ -403,20 +379,14 @@ protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
#align linear_map.congr_fun LinearMap.congr_fun
/- warning: linear_map.ext_iff -> LinearMap.ext_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.ext_iff LinearMap.ext_iffₓ'. -/
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
FunLike.ext_iff
#align linear_map.ext_iff LinearMap.ext_iff
/- warning: linear_map.mk_coe -> LinearMap.mk_coe is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f) h₁ h₂) f
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.mk_coe LinearMap.mk_coeₓ'. -/
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
@@ -426,30 +396,21 @@ theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h
variable (fₗ gₗ f g)
/- warning: linear_map.map_add -> LinearMap.map_add is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_add LinearMap.map_addₓ'. -/
protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
map_add f x y
#align linear_map.map_add LinearMap.map_add
/- warning: linear_map.map_zero -> LinearMap.map_zero is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_zero LinearMap.map_zeroₓ'. -/
protected theorem map_zero : f 0 = 0 :=
map_zero f
#align linear_map.map_zero LinearMap.map_zero
/- warning: linear_map.map_smulₛₗ -> LinearMap.map_smulₛₗ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
-but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
@@ -468,20 +429,14 @@ protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
#align linear_map.map_smul LinearMap.map_smul
/- warning: linear_map.map_smul_inv -> LinearMap.map_smul_inv is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
-but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
#align linear_map.map_smul_inv LinearMap.map_smul_inv
/- warning: linear_map.map_eq_zero_iff -> LinearMap.map_eq_zero_iff is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u3, succ u4} M M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))) (Eq.{succ u3} M x (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iffₓ'. -/
-- TODO: generalize to `zero_hom_class`
@[simp]
@@ -500,10 +455,7 @@ open Pointwise
variable (M M₃ σ) {F : Type _} (h : F)
/- warning: image_smul_setₛₗ -> image_smul_setₛₗ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u3} M), Eq.{succ u4} (Set.{u4} M₃) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c s)) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s))
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align image_smul_setₛₗ image_smul_setₛₗₓ'. -/
@[simp]
theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
@@ -516,10 +468,7 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
#align image_smul_setₛₗ image_smul_setₛₗ
/- warning: preimage_smul_setₛₗ -> preimage_smul_setₛₗ is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) c) -> (forall (s : Set.{u4} M₃), Eq.{succ u3} (Set.{u3} M) (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) s)) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s)))
-but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align preimage_smul_setₛₗ preimage_smul_setₛₗₓ'. -/
theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
@@ -537,20 +486,14 @@ theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : I
variable (R M₂)
/- warning: image_smul_set -> image_smul_set is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (M : Type.{u2}) (M₂ : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u1, u2, u3} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] (c : R) (s : Set.{u2} M), Eq.{succ u3} (Set.{u3} M₂) (Set.image.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) (SMul.smul.{u1, u2} R (Set.{u2} M) (Set.smulSet.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10))))) c s)) (SMul.smul.{u1, u3} R (Set.{u3} M₂) (Set.smulSet.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11))))) c (Set.image.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) s))
-but is expected to have type
- forall (R : Type.{u3}) (M : Type.{u2}) (M₂ : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u3, u2, u1} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₂) (Set.image.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) (HSMul.hSMul.{u3, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u3, u2} R (Set.{u2} M) (Set.smulSet.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} R (Set.{u1} M₂) (Set.{u1} M₂) (instHSMul.{u3, u1} R (Set.{u1} M₂) (Set.smulSet.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))))) c (Set.image.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) s))
+<too large>
Case conversion may be inaccurate. Consider using '#align image_smul_set image_smul_setₓ'. -/
theorem image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) : h '' (c • s) = c • h '' s :=
image_smul_setₛₗ _ _ _ h c s
#align image_smul_set image_smul_set
/- warning: preimage_smul_set -> preimage_smul_set is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) (M : Type.{u2}) (M₂ : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u1, u2, u3} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] {c : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) c) -> (forall (s : Set.{u3} M₂), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) (SMul.smul.{u1, u3} R (Set.{u3} M₂) (Set.smulSet.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11))))) c s)) (SMul.smul.{u1, u2} R (Set.{u2} M) (Set.smulSet.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10))))) c (Set.preimage.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) s)))
-but is expected to have type
- forall (R : Type.{u3}) (M : Type.{u2}) (M₂ : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u3, u2, u1} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) c) -> (forall (s : Set.{u1} M₂), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) (HSMul.hSMul.{u3, u1, u1} R (Set.{u1} M₂) (Set.{u1} M₂) (instHSMul.{u3, u1} R (Set.{u1} M₂) (Set.smulSet.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))))) c s)) (HSMul.hSMul.{u3, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u3, u2} R (Set.{u2} M) (Set.smulSet.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) s)))
+<too large>
Case conversion may be inaccurate. Consider using '#align preimage_smul_set preimage_smul_setₓ'. -/
theorem preimage_smul_set [LinearMapClass F R M M₂] {c : R} (hc : IsUnit c) (s : Set M₂) :
h ⁻¹' (c • s) = c • h ⁻¹' s :=
@@ -584,10 +527,7 @@ instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring
-/
/- warning: linear_map.map_smul_of_tower -> LinearMap.map_smul_of_tower is a dubious translation:
-lean 3 declaration is
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u2} M₂] {R : Type.{u3}} {S : Type.{u4}} [_inst_13 : Semiring.{u4} S] [_inst_14 : SMul.{u3, u1} R M] [_inst_15 : Module.{u4, u1} S M _inst_13 _inst_3] [_inst_16 : SMul.{u3, u2} R M₂] [_inst_17 : Module.{u4, u2} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u1, u2, u3, u4} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u2} M₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ (SMul.smul.{u3, u1} R M _inst_14 c x)) (SMul.smul.{u3, u2} R M₂ _inst_16 c (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ x))
-but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_of_tower LinearMap.map_smul_of_towerₓ'. -/
@[simp]
theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
@@ -635,10 +575,7 @@ def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
-/
/- warning: linear_map.coe_restrict_scalars -> LinearMap.coe_restrictScalars is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u4)} (M -> M₂) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ)
-but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalarsₓ'. -/
@[simp]
theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
@@ -646,10 +583,7 @@ theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R f
#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalars
/- warning: linear_map.restrict_scalars_apply -> LinearMap.restrictScalars_apply is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ x)
-but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_applyₓ'. -/
theorem restrictScalars_apply (fₗ : M →ₗ[S] M₂) (x) : restrictScalars R fₗ x = fₗ x :=
rfl
@@ -667,10 +601,7 @@ theorem restrictScalars_injective :
#align linear_map.restrict_scalars_injective LinearMap.restrictScalars_injective
/- warning: linear_map.restrict_scalars_inj -> LinearMap.restrictScalars_inj is a dubious translation:
-lean 3 declaration is
- forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (gₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Iff (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 gₗ)) (Eq.{max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) fₗ gₗ)
-but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (gₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Iff (Eq.{max (succ u3) (succ u2)} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 gₗ)) (Eq.{max (succ u3) (succ u2)} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) fₗ gₗ)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_inj LinearMap.restrictScalars_injₓ'. -/
@[simp]
theorem restrictScalars_inj (fₗ gₗ : M →ₗ[S] M₂) :
@@ -715,10 +646,7 @@ theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1
#align linear_map.ext_ring_iff LinearMap.ext_ring_iff
/- warning: linear_map.ext_ring_op -> LinearMap.ext_ring_op is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} (MulOpposite.{u1} R) S (MulOpposite.nonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) f g)
-but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.nonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_op LinearMap.ext_ring_opₓ'. -/
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
@@ -772,10 +700,7 @@ infixr:80 " ∘ₗ " =>
include σ₁₃
/- warning: linear_map.comp_apply -> LinearMap.comp_apply is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} M₃ (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
-but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_apply LinearMap.comp_applyₓ'. -/
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
@@ -786,10 +711,7 @@ omit σ₁₃
include σ₁₃
/- warning: linear_map.coe_comp -> LinearMap.coe_comp is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u4) (succ u6)} ((fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u4, succ u5, succ u6} M₁ M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
-but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.coe_comp LinearMap.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
@@ -799,10 +721,7 @@ theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
omit σ₁₃
/- warning: linear_map.comp_id -> LinearMap.comp_id is a dubious translation:
-lean 3 declaration is
- forall {R₂ : Type.{u1}} {R₃ : Type.{u2}} {M₂ : Type.{u3}} {M₃ : Type.{u4}} [_inst_4 : Semiring.{u1} R₂] [_inst_5 : Semiring.{u2} R₃] [_inst_8 : AddCommMonoid.{u3} M₂] [_inst_9 : AddCommMonoid.{u4} M₃] {module_M₂ : Module.{u1, u3} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u2, u4} R₃ M₃ _inst_5 _inst_9} {σ₂₃ : RingHom.{u1, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u1} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_5)} (f : LinearMap.{u1, u2, u3, u4} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (LinearMap.comp.{u1, u1, u2, u3, u3, u4} R₂ R₂ R₃ M₂ M₂ M₃ _inst_4 _inst_4 _inst_5 _inst_8 _inst_8 _inst_9 module_M₂ module_M₂ module_M₃ (RingHom.id.{u1} R₂ (Semiring.toNonAssocSemiring.{u1} R₂ _inst_4)) σ₂₃ σ₂₃ (RingHomCompTriple.ids.{u1, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃) f (LinearMap.id.{u1, u3} R₂ M₂ _inst_4 _inst_8 module_M₂)) f
-but is expected to have type
- forall {R₂ : Type.{u2}} {R₃ : Type.{u1}} {M₂ : Type.{u4}} {M₃ : Type.{u3}} [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_8 : AddCommMonoid.{u4} M₂] [_inst_9 : AddCommMonoid.{u3} M₃] {module_M₂ : Module.{u2, u4} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u3} R₃ M₃ _inst_5 _inst_9} {σ₂₃ : RingHom.{u2, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} (f : LinearMap.{u2, u1, u4, u3} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃), Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (LinearMap.comp.{u2, u2, u1, u4, u4, u3} R₂ R₂ R₃ M₂ M₂ M₃ _inst_4 _inst_4 _inst_5 _inst_8 _inst_8 _inst_9 module_M₂ module_M₂ module_M₃ (RingHom.id.{u2} R₂ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)) σ₂₃ σ₂₃ (RingHomCompTriple.ids.{u2, u1} R₂ R₃ _inst_4 _inst_5 σ₂₃) f (LinearMap.id.{u2, u4} R₂ M₂ _inst_4 _inst_8 module_M₂)) f
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_id LinearMap.comp_idₓ'. -/
@[simp]
theorem comp_id : f.comp id = f :=
@@ -810,10 +729,7 @@ theorem comp_id : f.comp id = f :=
#align linear_map.comp_id LinearMap.comp_id
/- warning: linear_map.id_comp -> LinearMap.id_comp is a dubious translation:
-lean 3 declaration is
- forall {R₂ : Type.{u1}} {R₃ : Type.{u2}} {M₂ : Type.{u3}} {M₃ : Type.{u4}} [_inst_4 : Semiring.{u1} R₂] [_inst_5 : Semiring.{u2} R₃] [_inst_8 : AddCommMonoid.{u3} M₂] [_inst_9 : AddCommMonoid.{u4} M₃] {module_M₂ : Module.{u1, u3} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u2, u4} R₃ M₃ _inst_5 _inst_9} {σ₂₃ : RingHom.{u1, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u1} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_5)} (f : LinearMap.{u1, u2, u3, u4} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (LinearMap.comp.{u1, u2, u2, u3, u4, u4} R₂ R₃ R₃ M₂ M₃ M₃ _inst_4 _inst_5 _inst_5 _inst_8 _inst_9 _inst_9 module_M₂ module_M₃ module_M₃ σ₂₃ (RingHom.id.{u2} R₃ (Semiring.toNonAssocSemiring.{u2} R₃ _inst_5)) σ₂₃ (RingHomCompTriple.right_ids.{u1, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃) (LinearMap.id.{u2, u4} R₃ M₃ _inst_5 _inst_9 module_M₃) f) f
-but is expected to have type
- forall {R₂ : Type.{u2}} {R₃ : Type.{u1}} {M₂ : Type.{u4}} {M₃ : Type.{u3}} [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_8 : AddCommMonoid.{u4} M₂] [_inst_9 : AddCommMonoid.{u3} M₃] {module_M₂ : Module.{u2, u4} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u3} R₃ M₃ _inst_5 _inst_9} {σ₂₃ : RingHom.{u2, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} (f : LinearMap.{u2, u1, u4, u3} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃), Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (LinearMap.comp.{u2, u1, u1, u4, u3, u3} R₂ R₃ R₃ M₂ M₃ M₃ _inst_4 _inst_5 _inst_5 _inst_8 _inst_9 _inst_9 module_M₂ module_M₃ module_M₃ σ₂₃ (RingHom.id.{u1} R₃ (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)) σ₂₃ (RingHomCompTriple.right_ids.{u2, u1} R₂ R₃ _inst_4 _inst_5 σ₂₃) (LinearMap.id.{u1, u3} R₃ M₃ _inst_5 _inst_9 module_M₃) f) f
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.id_comp LinearMap.id_compₓ'. -/
@[simp]
theorem id_comp : id.comp f = f :=
@@ -825,20 +741,14 @@ variable {f g} {f' : M₂ →ₛₗ[σ₂₃] M₃} {g' : M₁ →ₛₗ[σ₁
include σ₁₃
/- warning: linear_map.cancel_right -> LinearMap.cancel_right is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u4, succ u5} M₁ M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
-but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_right LinearMap.cancel_rightₓ'. -/
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h => ext <| hg.forall.2 (ext_iff.1 h), fun h => h ▸ rfl⟩
#align linear_map.cancel_right LinearMap.cancel_right
/- warning: linear_map.cancel_left -> LinearMap.cancel_left is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u5, succ u6} M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
-but is expected to have type
- forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_left LinearMap.cancel_leftₓ'. -/
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h => ext fun x => hf <| by rw [← comp_apply, h, comp_apply], fun h => h ▸ rfl⟩
@@ -851,10 +761,7 @@ end
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
/- warning: linear_map.inverse -> LinearMap.inverse is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
-but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.inverse LinearMap.inverseₓ'. -/
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
@@ -880,20 +787,14 @@ variable {module_M : Module R M} {module_M₂ : Module S M₂} {σ : R →+* S}
variable (f : M →ₛₗ[σ] M₂)
/- warning: linear_map.map_neg -> LinearMap.map_neg is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (SubNegMonoid.toHasNeg.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3))) x)) (Neg.neg.{u4} M₂ (SubNegMonoid.toHasNeg.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_neg LinearMap.map_negₓ'. -/
protected theorem map_neg (x : M) : f (-x) = -f x :=
map_neg f x
#align linear_map.map_neg LinearMap.map_neg
/- warning: linear_map.map_sub -> LinearMap.map_sub is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toHasSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} M₂ M₂ M₂ (instHSub.{u4} M₂ (SubNegMonoid.toHasSub.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
-but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.map_sub LinearMap.map_subₓ'. -/
protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
@@ -965,10 +866,7 @@ theorem [anonymous] (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
#align distrib_mul_action_hom.to_linear_map_eq_coe [anonymous]
/- warning: distrib_mul_action_hom.coe_to_linear_map -> DistribMulActionHom.coe_toLinearMap is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u3)} ((fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (fun (_x : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) => M -> M₂) ([anonymous].{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) f)
-but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMapₓ'. -/
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
@@ -1238,10 +1136,7 @@ instance : SMul S (M →ₛₗ[σ₁₂] M₂) :=
map_smul' := fun c x => by simp [Pi.smul_apply, smul_comm (σ₁₂ c)] }⟩
/- warning: linear_map.smul_apply -> LinearMap.smul_apply is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u5} M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f) x) (SMul.smul.{u3, u5} S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
-but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.smul_apply LinearMap.smul_applyₓ'. -/
@[simp]
theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f) x = a • f x :=
@@ -1249,10 +1144,7 @@ theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f)
#align linear_map.smul_apply LinearMap.smul_apply
/- warning: linear_map.coe_smul -> LinearMap.coe_smul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{succ (max u4 u5)} (M -> M₂) (coeFn.{succ (max u4 u5), succ (max u4 u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f)) (SMul.smul.{u3, max u4 u5} S (M -> M₂) (Function.hasSMul.{u4, u3, u5} M S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
-but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.coe_smul LinearMap.coe_smulₓ'. -/
theorem coe_smul (a : S) (f : M →ₛₗ[σ₁₂] M₂) : ⇑(a • f) = a • f :=
rfl
@@ -1295,10 +1187,7 @@ instance : Zero (M →ₛₗ[σ₁₂] M₂) :=
map_smul' := by simp }⟩
/- warning: linear_map.zero_apply -> LinearMap.zero_apply is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (OfNat.mk.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.zero.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasZero.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)))) x) (OfNat.ofNat.{u4} M₂ 0 (OfNat.mk.{u4} M₂ 0 (Zero.zero.{u4} M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))))))
-but is expected to have type
- forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5))))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.zero_apply LinearMap.zero_applyₓ'. -/
@[simp]
theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
@@ -1306,10 +1195,7 @@ theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
#align linear_map.zero_apply LinearMap.zero_apply
/- warning: linear_map.comp_zero -> LinearMap.comp_zero is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_6 : AddCommMonoid.{u6} M₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u3, u6} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (g : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 g (OfNat.ofNat.{max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (OfNat.mk.{max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.zero.{max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasZero.{u1, u2, u4, u5} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))))) (OfNat.ofNat.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) 0 (OfNat.mk.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) 0 (Zero.zero.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.hasZero.{u1, u3, u4, u6} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃))))
-but is expected to have type
- forall {R₁ : Type.{u1}} {R₂ : Type.{u6}} {R₃ : Type.{u5}} {M : Type.{u2}} {M₂ : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u6} R₂] [_inst_3 : Semiring.{u5} R₃] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u1, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u6, u4} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u5, u3} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u1, u6} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u6} R₂ _inst_2)} {σ₂₃ : RingHom.{u6, u5} R₂ R₃ (Semiring.toNonAssocSemiring.{u6} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u5} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u5} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u6, u5} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (g : LinearMap.{u6, u5, u4, u3} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12), Eq.{max (succ u2) (succ u3)} (LinearMap.{u1, u5, u2, u3} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u1, u6, u5, u2, u4, u3} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 g (OfNat.ofNat.{max u2 u4} (LinearMap.{u1, u6, u2, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u2 u4} (LinearMap.{u1, u6, u2, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u1, u6, u2, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)))) (OfNat.ofNat.{max u2 u3} (LinearMap.{u1, u5, u2, u3} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) 0 (Zero.toOfNat0.{max u2 u3} (LinearMap.{u1, u5, u2, u3} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.instZeroLinearMap.{u1, u5, u2, u3} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃)))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_zero LinearMap.comp_zeroₓ'. -/
@[simp]
theorem comp_zero (g : M₂ →ₛₗ[σ₂₃] M₃) : (g.comp (0 : M →ₛₗ[σ₁₂] M₂) : M →ₛₗ[σ₁₃] M₃) = 0 :=
@@ -1317,10 +1203,7 @@ theorem comp_zero (g : M₂ →ₛₗ[σ₂₃] M₃) : (g.comp (0 : M →ₛₗ
#align linear_map.comp_zero LinearMap.comp_zero
/- warning: linear_map.zero_comp -> LinearMap.zero_comp is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_6 : AddCommMonoid.{u6} M₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u3, u6} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 (OfNat.ofNat.{max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) 0 (OfNat.mk.{max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) 0 (Zero.zero.{max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.hasZero.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_2 _inst_3 _inst_5 _inst_6 _inst_11 _inst_12 σ₂₃)))) f) (OfNat.ofNat.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) 0 (OfNat.mk.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) 0 (Zero.zero.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.hasZero.{u1, u3, u4, u6} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃))))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u1}} {M : Type.{u4}} {M₂ : Type.{u3}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u1} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u5, u3} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u1, u2} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u1} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11), Eq.{max (succ u4) (succ u2)} (LinearMap.{u6, u1, u4, u2} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u6, u5, u1, u4, u3, u2} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 (OfNat.ofNat.{max u3 u2} (LinearMap.{u5, u1, u3, u2} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) 0 (Zero.toOfNat0.{max u3 u2} (LinearMap.{u5, u1, u3, u2} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.instZeroLinearMap.{u5, u1, u3, u2} R₂ R₃ M₂ M₃ _inst_2 _inst_3 _inst_5 _inst_6 _inst_11 _inst_12 σ₂₃))) f) (OfNat.ofNat.{max u4 u2} (LinearMap.{u6, u1, u4, u2} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) 0 (Zero.toOfNat0.{max u4 u2} (LinearMap.{u6, u1, u4, u2} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.instZeroLinearMap.{u6, u1, u4, u2} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃)))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.zero_comp LinearMap.zero_compₓ'. -/
@[simp]
theorem zero_comp (f : M →ₛₗ[σ₁₂] M₂) : ((0 : M₂ →ₛₗ[σ₂₃] M₃).comp f : M →ₛₗ[σ₁₃] M₃) = 0 :=
@@ -1349,10 +1232,7 @@ instance : Add (M →ₛₗ[σ₁₂] M₂) :=
map_smul' := by simp [smul_add] }⟩
/- warning: linear_map.add_apply -> LinearMap.add_apply is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasAdd.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u4, u4, u4} M₂ M₂ M₂ (instHAdd.{u4} M₂ (AddZeroClass.toHasAdd.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
-but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.add_apply LinearMap.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x + g x :=
@@ -1360,10 +1240,7 @@ theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x +
#align linear_map.add_apply LinearMap.add_apply
/- warning: linear_map.add_comp -> LinearMap.add_comp is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_6 : AddCommMonoid.{u6} M₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u3, u6} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (h : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 (HAdd.hAdd.{max u5 u6, max u5 u6, max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (instHAdd.{max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.hasAdd.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_2 _inst_3 _inst_5 _inst_6 _inst_11 _inst_12 σ₂₃)) h g) f) (HAdd.hAdd.{max u4 u6, max u4 u6, max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (instHAdd.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.hasAdd.{u1, u3, u4, u6} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃)) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u2}} {M : Type.{u4}} {M₂ : Type.{u3}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u2} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u5, u3} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u2, u1} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u2} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u2} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (h : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12), Eq.{max (succ u4) (succ u1)} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 (HAdd.hAdd.{max u3 u1, max u3 u1, max u3 u1} (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (instHAdd.{max u3 u1} (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12) (LinearMap.instAddLinearMap.{u5, u2, u3, u1} R₂ R₃ M₂ M₃ _inst_2 _inst_3 _inst_5 _inst_6 _inst_11 _inst_12 σ₂₃)) h g) f) (HAdd.hAdd.{max u4 u1, max u4 u1, max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (instHAdd.{max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.instAddLinearMap.{u6, u2, u4, u1} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃)) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.add_comp LinearMap.add_compₓ'. -/
theorem add_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃] M₃) :
((h + g).comp f : M →ₛₗ[σ₁₃] M₃) = h.comp f + g.comp f :=
@@ -1371,10 +1248,7 @@ theorem add_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃
#align linear_map.add_comp LinearMap.add_comp
/- warning: linear_map.comp_add -> LinearMap.comp_add is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_6 : AddCommMonoid.{u6} M₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u3, u6} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (h : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h (HAdd.hAdd.{max u4 u5, max u4 u5, max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasAdd.{u1, u2, u4, u5} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g)) (HAdd.hAdd.{max u4 u6, max u4 u6, max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (instHAdd.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.hasAdd.{u1, u3, u4, u6} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃)) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h g))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u2}} {M : Type.{u4}} {M₂ : Type.{u3}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u2} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u5, u3} R₂ M₂ _inst_2 _inst_5] [_inst_12 : Module.{u2, u1} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u2} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u2} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (h : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_11 _inst_12), Eq.{max (succ u4) (succ u1)} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h (HAdd.hAdd.{max u4 u3, max u4 u3, max u4 u3} (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u4 u3} (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u6, u5, u4, u3} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g)) (HAdd.hAdd.{max u4 u1, max u4 u1, max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (instHAdd.{max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_10 _inst_12) (LinearMap.instAddLinearMap.{u6, u2, u4, u1} R₁ R₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_10 _inst_12 σ₁₃)) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_10 _inst_11 _inst_12 σ₁₂ σ₂₃ σ₁₃ _inst_16 h g))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_add LinearMap.comp_addₓ'. -/
theorem comp_add (f g : M →ₛₗ[σ₁₂] M₂) (h : M₂ →ₛₗ[σ₂₃] M₃) :
(h.comp (f + g) : M →ₛₗ[σ₁₃] M₃) = h.comp f + h.comp g :=
@@ -1393,10 +1267,7 @@ instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
map_smul' := by simp }⟩
/- warning: linear_map.neg_apply -> LinearMap.neg_apply is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasNeg.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u4} N₂ (SubNegMonoid.toHasNeg.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
-but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.neg_apply LinearMap.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
@@ -1406,10 +1277,7 @@ theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
include σ₁₃
/- warning: linear_map.neg_comp -> LinearMap.neg_comp is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} {N₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommGroup.{u6} N₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] [_inst_15 : Module.{u3, u6} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 (Neg.neg.{max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.hasNeg.{u2, u3, u5, u6} R₂ R₃ M₂ N₃ _inst_2 _inst_3 _inst_5 _inst_9 _inst_11 _inst_15 σ₂₃) g) f) (Neg.neg.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.hasNeg.{u1, u3, u4, u6} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u2}} {M : Type.{u4}} {M₂ : Type.{u3}} {N₃ : Type.{u1}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u2} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_9 : AddCommGroup.{u1} N₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u5, u3} R₂ M₂ _inst_2 _inst_5] [_inst_15 : Module.{u2, u1} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9)] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u2} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u2} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15), Eq.{max (succ u4) (succ u1)} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 (Neg.neg.{max u3 u1} (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.instNegLinearMapToAddCommMonoid.{u5, u2, u3, u1} R₂ R₃ M₂ N₃ _inst_2 _inst_3 _inst_5 _inst_9 _inst_11 _inst_15 σ₂₃) g) f) (Neg.neg.{max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.instNegLinearMapToAddCommMonoid.{u6, u2, u4, u1} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.neg_comp LinearMap.neg_compₓ'. -/
@[simp]
theorem neg_comp (f : M →ₛₗ[σ₁₂] M₂) (g : M₂ →ₛₗ[σ₂₃] N₃) : (-g).comp f = -g.comp f :=
@@ -1417,10 +1285,7 @@ theorem neg_comp (f : M →ₛₗ[σ₁₂] M₂) (g : M₂ →ₛₗ[σ₂₃]
#align linear_map.neg_comp LinearMap.neg_comp
/- warning: linear_map.comp_neg -> LinearMap.comp_neg is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {N₂ : Type.{u5}} {N₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_8 : AddCommGroup.{u5} N₂] [_inst_9 : AddCommGroup.{u6} N₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u5} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8)] [_inst_15 : Module.{u3, u6} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ N₂ N₃ (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_14 _inst_15), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g (Neg.neg.{max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasNeg.{u1, u2, u4, u5} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f)) (Neg.neg.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.hasNeg.{u1, u3, u4, u6} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u2}} {M : Type.{u4}} {N₂ : Type.{u3}} {N₃ : Type.{u1}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u2} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_8 : AddCommGroup.{u3} N₂] [_inst_9 : AddCommGroup.{u1} N₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u5, u3} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8)] [_inst_15 : Module.{u2, u1} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9)] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u2} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u2} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ N₂ N₃ (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_14 _inst_15), Eq.{max (succ u4) (succ u1)} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g (Neg.neg.{max u4 u3} (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u6, u5, u4, u3} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f)) (Neg.neg.{max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.instNegLinearMapToAddCommMonoid.{u6, u2, u4, u1} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_neg LinearMap.comp_negₓ'. -/
@[simp]
theorem comp_neg (f : M →ₛₗ[σ₁₂] N₂) (g : N₂ →ₛₗ[σ₂₃] N₃) : g.comp (-f) = -g.comp f :=
@@ -1437,10 +1302,7 @@ instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
map_smul' := fun r x => by simp [Pi.sub_apply, map_smul, smul_sub] }⟩
/- warning: linear_map.sub_apply -> LinearMap.sub_apply is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasSub.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u4, u4, u4} N₂ N₂ N₂ (instHSub.{u4} N₂ (SubNegMonoid.toHasSub.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
-but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.sub_apply LinearMap.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x - g x :=
@@ -1450,10 +1312,7 @@ theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x -
include σ₁₃
/- warning: linear_map.sub_comp -> LinearMap.sub_comp is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} {N₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommGroup.{u6} N₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] [_inst_15 : Module.{u3, u6} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15) (h : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 (HSub.hSub.{max u5 u6, max u5 u6, max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15) (instHSub.{max u5 u6} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.hasSub.{u2, u3, u5, u6} R₂ R₃ M₂ N₃ _inst_2 _inst_3 _inst_5 _inst_9 _inst_11 _inst_15 σ₂₃)) g h) f) (HSub.hSub.{max u4 u6, max u4 u6, max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (instHSub.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.hasSub.{u1, u3, u4, u6} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃)) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u2}} {M : Type.{u4}} {M₂ : Type.{u3}} {N₃ : Type.{u1}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u2} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_9 : AddCommGroup.{u1} N₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u5, u3} R₂ M₂ _inst_2 _inst_5] [_inst_15 : Module.{u2, u1} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9)] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u2} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u2} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15) (h : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15), Eq.{max (succ u4) (succ u1)} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 (HSub.hSub.{max u3 u1, max u3 u1, max u3 u1} (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15) (instHSub.{max u3 u1} (LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ N₃ _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_11 _inst_15) (LinearMap.instSubLinearMapToAddCommMonoid.{u5, u2, u3, u1} R₂ R₃ M₂ N₃ _inst_2 _inst_3 _inst_5 _inst_9 _inst_11 _inst_15 σ₂₃)) g h) f) (HSub.hSub.{max u4 u1, max u4 u1, max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (instHSub.{max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.instSubLinearMapToAddCommMonoid.{u6, u2, u4, u1} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃)) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 g f) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M M₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_11 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.sub_comp LinearMap.sub_compₓ'. -/
theorem sub_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃] N₃) :
(g - h).comp f = g.comp f - h.comp f :=
@@ -1461,10 +1320,7 @@ theorem sub_comp (f : M →ₛₗ[σ₁₂] M₂) (g h : M₂ →ₛₗ[σ₂₃
#align linear_map.sub_comp LinearMap.sub_comp
/- warning: linear_map.comp_sub -> LinearMap.comp_sub is a dubious translation:
-lean 3 declaration is
- forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M : Type.{u4}} {N₂ : Type.{u5}} {N₃ : Type.{u6}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_8 : AddCommGroup.{u5} N₂] [_inst_9 : AddCommGroup.{u6} N₃] [_inst_10 : Module.{u1, u4} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u5} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8)] [_inst_15 : Module.{u3, u6} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (h : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_2 _inst_3 σ₂₃ N₂ N₃ (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_14 _inst_15), Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h (HSub.hSub.{max u4 u5, max u4 u5, max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u4 u5} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasSub.{u1, u2, u4, u5} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) g f)) (HSub.hSub.{max u4 u6, max u4 u6, max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (instHSub.{max u4 u6} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.hasSub.{u1, u3, u4, u6} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃)) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u5} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u6} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f))
-but is expected to have type
- forall {R₁ : Type.{u6}} {R₂ : Type.{u5}} {R₃ : Type.{u2}} {M : Type.{u4}} {N₂ : Type.{u3}} {N₃ : Type.{u1}} [_inst_1 : Semiring.{u6} R₁] [_inst_2 : Semiring.{u5} R₂] [_inst_3 : Semiring.{u2} R₃] [_inst_4 : AddCommMonoid.{u4} M] [_inst_8 : AddCommGroup.{u3} N₂] [_inst_9 : AddCommGroup.{u1} N₃] [_inst_10 : Module.{u6, u4} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u5, u3} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8)] [_inst_15 : Module.{u2, u1} R₃ N₃ _inst_3 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9)] {σ₁₂ : RingHom.{u6, u5} R₁ R₂ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2)} {σ₂₃ : RingHom.{u5, u2} R₂ R₃ (Semiring.toNonAssocSemiring.{u5} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} {σ₁₃ : RingHom.{u6, u2} R₁ R₃ (Semiring.toNonAssocSemiring.{u6} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₃ _inst_3)} [_inst_16 : RingHomCompTriple.{u6, u5, u2} R₁ R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (h : LinearMap.{u5, u2, u3, u1} R₂ R₃ _inst_2 _inst_3 σ₂₃ N₂ N₃ (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_14 _inst_15), Eq.{max (succ u4) (succ u1)} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h (HSub.hSub.{max u4 u3, max u4 u3, max u4 u3} (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u4 u3} (LinearMap.{u6, u5, u4, u3} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u6, u5, u4, u3} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) g f)) (HSub.hSub.{max u4 u1, max u4 u1, max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (instHSub.{max u4 u1} (LinearMap.{u6, u2, u4, u1} R₁ R₃ _inst_1 _inst_3 σ₁₃ M N₃ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_15) (LinearMap.instSubLinearMapToAddCommMonoid.{u6, u2, u4, u1} R₁ R₃ M N₃ _inst_1 _inst_3 _inst_4 _inst_9 _inst_10 _inst_15 σ₁₃)) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h g) (LinearMap.comp.{u6, u5, u2, u4, u3, u1} R₁ R₂ R₃ M N₂ N₃ _inst_1 _inst_2 _inst_3 _inst_4 (AddCommGroup.toAddCommMonoid.{u3} N₂ _inst_8) (AddCommGroup.toAddCommMonoid.{u1} N₃ _inst_9) _inst_10 _inst_14 _inst_15 σ₁₂ σ₂₃ σ₁₃ _inst_16 h f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_sub LinearMap.comp_subₓ'. -/
theorem comp_sub (f g : M →ₛₗ[σ₁₂] N₂) (h : N₂ →ₛₗ[σ₂₃] N₃) :
h.comp (g - f) = h.comp g - h.comp f :=
@@ -1508,10 +1364,7 @@ instance : DistribMulAction S (M →ₛₗ[σ₁₂] M₂)
include σ₁₃
/- warning: linear_map.smul_comp -> LinearMap.smul_comp is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {S₃ : Type.{u4}} {M : Type.{u5}} {M₂ : Type.{u6}} {M₃ : Type.{u7}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_3 : Semiring.{u3} R₃] [_inst_4 : AddCommMonoid.{u5} M] [_inst_5 : AddCommMonoid.{u6} M₂] [_inst_6 : AddCommMonoid.{u7} M₃] [_inst_7 : Module.{u1, u5} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u6} R₂ M₂ _inst_2 _inst_5] [_inst_9 : Module.{u3, u7} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} {σ₁₃ : RingHom.{u1, u3} R R₃ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_3)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] [_inst_14 : Monoid.{u4} S₃] [_inst_15 : DistribMulAction.{u4, u7} S₃ M₃ _inst_14 (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6)] [_inst_16 : SMulCommClass.{u3, u4, u7} R₃ S₃ M₃ (SMulZeroClass.toHasSmul.{u3, u7} R₃ M₃ (AddZeroClass.toHasZero.{u7} M₃ (AddMonoid.toAddZeroClass.{u7} M₃ (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u3, u7} R₃ M₃ (MulZeroClass.toHasZero.{u3} R₃ (MulZeroOneClass.toMulZeroClass.{u3} R₃ (MonoidWithZero.toMulZeroOneClass.{u3} R₃ (Semiring.toMonoidWithZero.{u3} R₃ _inst_3)))) (AddZeroClass.toHasZero.{u7} M₃ (AddMonoid.toAddZeroClass.{u7} M₃ (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u3, u7} R₃ M₃ (Semiring.toMonoidWithZero.{u3} R₃ _inst_3) (AddZeroClass.toHasZero.{u7} M₃ (AddMonoid.toAddZeroClass.{u7} M₃ (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6))) (Module.toMulActionWithZero.{u3, u7} R₃ M₃ _inst_3 _inst_6 _inst_9)))) (SMulZeroClass.toHasSmul.{u4, u7} S₃ M₃ (AddZeroClass.toHasZero.{u7} M₃ (AddMonoid.toAddZeroClass.{u7} M₃ (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6))) (DistribSMul.toSmulZeroClass.{u4, u7} S₃ M₃ (AddMonoid.toAddZeroClass.{u7} M₃ (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6)) (DistribMulAction.toDistribSMul.{u4, u7} S₃ M₃ _inst_14 (AddCommMonoid.toAddMonoid.{u7} M₃ _inst_6) _inst_15)))] (a : S₃) (g : LinearMap.{u2, u3, u6, u7} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_8 _inst_9) (f : LinearMap.{u1, u2, u5, u6} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u5) (succ u7)} (LinearMap.{u1, u3, u5, u7} R R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_7 _inst_9) (LinearMap.comp.{u1, u2, u3, u5, u6, u7} R R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 σ₁₂ σ₂₃ σ₁₃ _inst_10 (SMul.smul.{u4, max u6 u7} S₃ (LinearMap.{u2, u3, u6, u7} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_8 _inst_9) (LinearMap.hasSmul.{u2, u3, u4, u6, u7} R₂ R₃ S₃ M₂ M₃ _inst_2 _inst_3 _inst_5 _inst_6 _inst_8 _inst_9 σ₂₃ _inst_14 _inst_15 _inst_16) a g) f) (SMul.smul.{u4, max u5 u7} S₃ (LinearMap.{u1, u3, u5, u7} R R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_7 _inst_9) (LinearMap.hasSmul.{u1, u3, u4, u5, u7} R R₃ S₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_7 _inst_9 σ₁₃ _inst_14 _inst_15 _inst_16) a (LinearMap.comp.{u1, u2, u3, u5, u6, u7} R R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 σ₁₂ σ₂₃ σ₁₃ _inst_10 g f))
-but is expected to have type
- forall {R : Type.{u3}} {R₂ : Type.{u7}} {R₃ : Type.{u6}} {S₃ : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u5}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u7} R₂] [_inst_3 : Semiring.{u6} R₃] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_7 : Module.{u3, u2} R M _inst_1 _inst_4] [_inst_8 : Module.{u7, u5} R₂ M₂ _inst_2 _inst_5] [_inst_9 : Module.{u6, u4} R₃ M₃ _inst_3 _inst_6] {σ₁₂ : RingHom.{u3, u7} R R₂ (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u7} R₂ _inst_2)} {σ₂₃ : RingHom.{u7, u6} R₂ R₃ (Semiring.toNonAssocSemiring.{u7} R₂ _inst_2) (Semiring.toNonAssocSemiring.{u6} R₃ _inst_3)} {σ₁₃ : RingHom.{u3, u6} R R₃ (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u6} R₃ _inst_3)} [_inst_10 : RingHomCompTriple.{u3, u7, u6} R R₂ R₃ _inst_1 _inst_2 _inst_3 σ₁₂ σ₂₃ σ₁₃] [_inst_14 : Monoid.{u1} S₃] [_inst_15 : DistribMulAction.{u1, u4} S₃ M₃ _inst_14 (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)] [_inst_16 : SMulCommClass.{u6, u1, u4} R₃ S₃ M₃ (SMulZeroClass.toSMul.{u6, u4} R₃ M₃ (AddMonoid.toZero.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u4} R₃ M₃ (MonoidWithZero.toZero.{u6} R₃ (Semiring.toMonoidWithZero.{u6} R₃ _inst_3)) (AddMonoid.toZero.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u4} R₃ M₃ (Semiring.toMonoidWithZero.{u6} R₃ _inst_3) (AddMonoid.toZero.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)) (Module.toMulActionWithZero.{u6, u4} R₃ M₃ _inst_3 _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u1, u4} S₃ M₃ (AddMonoid.toZero.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)) (DistribSMul.toSMulZeroClass.{u1, u4} S₃ M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)) (DistribMulAction.toDistribSMul.{u1, u4} S₃ M₃ _inst_14 (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6) _inst_15)))] (a : S₃) (g : LinearMap.{u7, u6, u5, u4} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_8 _inst_9) (f : LinearMap.{u3, u7, u2, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u2) (succ u4)} (LinearMap.{u3, u6, u2, u4} R R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_7 _inst_9) (LinearMap.comp.{u3, u7, u6, u2, u5, u4} R R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 σ₁₂ σ₂₃ σ₁₃ _inst_10 (HSMul.hSMul.{u1, max u5 u4, max u5 u4} S₃ (LinearMap.{u7, u6, u5, u4} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_8 _inst_9) (LinearMap.{u7, u6, u5, u4} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_8 _inst_9) (instHSMul.{u1, max u5 u4} S₃ (LinearMap.{u7, u6, u5, u4} R₂ R₃ _inst_2 _inst_3 σ₂₃ M₂ M₃ _inst_5 _inst_6 _inst_8 _inst_9) (LinearMap.instSMulLinearMap.{u7, u6, u1, u5, u4} R₂ R₃ S₃ M₂ M₃ _inst_2 _inst_3 _inst_5 _inst_6 _inst_8 _inst_9 σ₂₃ _inst_14 _inst_15 _inst_16)) a g) f) (HSMul.hSMul.{u1, max u4 u2, max u2 u4} S₃ (LinearMap.{u3, u6, u2, u4} R R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_7 _inst_9) (LinearMap.{u3, u6, u2, u4} R R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_7 _inst_9) (instHSMul.{u1, max u2 u4} S₃ (LinearMap.{u3, u6, u2, u4} R R₃ _inst_1 _inst_3 σ₁₃ M M₃ _inst_4 _inst_6 _inst_7 _inst_9) (LinearMap.instSMulLinearMap.{u3, u6, u1, u2, u4} R R₃ S₃ M M₃ _inst_1 _inst_3 _inst_4 _inst_6 _inst_7 _inst_9 σ₁₃ _inst_14 _inst_15 _inst_16)) a (LinearMap.comp.{u3, u7, u6, u2, u5, u4} R R₂ R₃ M M₂ M₃ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 σ₁₂ σ₂₃ σ₁₃ _inst_10 g f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.smul_comp LinearMap.smul_compₓ'. -/
theorem smul_comp (a : S₃) (g : M₂ →ₛₗ[σ₂₃] M₃) (f : M →ₛₗ[σ₁₂] M₂) :
(a • g).comp f = a • g.comp f :=
@@ -1521,10 +1374,7 @@ theorem smul_comp (a : S₃) (g : M₂ →ₛₗ[σ₂₃] M₃) (f : M →ₛ
omit σ₁₃
/- warning: linear_map.comp_smul -> LinearMap.comp_smul is a dubious translation:
-lean 3 declaration is
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} {M₃ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_6 : AddCommMonoid.{u5} M₃] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_4] [_inst_11 : Monoid.{u2} S] [_inst_12 : DistribMulAction.{u2, u4} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)] [_inst_20 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_21 : Module.{u1, u5} R M₃ _inst_1 _inst_6] [_inst_22 : SMulCommClass.{u1, u2, u4} R S M₂ (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_20)))) (SMulZeroClass.toHasSmul.{u2, u4} S M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u2, u4} S M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u2, u4} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5) _inst_12)))] [_inst_23 : DistribMulAction.{u2, u5} S M₃ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6)] [_inst_24 : SMulCommClass.{u1, u2, u5} R S M₃ (SMulZeroClass.toHasSmul.{u1, u5} R M₃ (AddZeroClass.toHasZero.{u5} M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u1, u5} R M₃ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u5} M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u1, u5} R M₃ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u5} M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6))) (Module.toMulActionWithZero.{u1, u5} R M₃ _inst_1 _inst_6 _inst_21)))) (SMulZeroClass.toHasSmul.{u2, u5} S M₃ (AddZeroClass.toHasZero.{u5} M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6))) (DistribSMul.toSmulZeroClass.{u2, u5} S M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6)) (DistribMulAction.toDistribSMul.{u2, u5} S M₃ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6) _inst_23)))] [_inst_25 : LinearMap.CompatibleSMul.{u5, u4, u2, u1} M₃ M₂ _inst_6 _inst_5 S R _inst_1 (SMulZeroClass.toHasSmul.{u2, u5} S M₃ (AddZeroClass.toHasZero.{u5} M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6))) (DistribSMul.toSmulZeroClass.{u2, u5} S M₃ (AddMonoid.toAddZeroClass.{u5} M₃ (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6)) (DistribMulAction.toDistribSMul.{u2, u5} S M₃ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₃ _inst_6) _inst_23))) _inst_21 (SMulZeroClass.toHasSmul.{u2, u4} S M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u2, u4} S M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u2, u4} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5) _inst_12))) _inst_20] (g : LinearMap.{u1, u1, u5, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M₃ M₂ _inst_6 _inst_5 _inst_21 _inst_20) (a : S) (f : LinearMap.{u1, u1, u3, u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₃ _inst_4 _inst_6 _inst_7 _inst_21), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_4 _inst_5 _inst_7 _inst_20) (LinearMap.comp.{u1, u1, u1, u3, u5, u4} R R R M M₃ M₂ _inst_1 _inst_1 _inst_1 _inst_4 _inst_6 _inst_5 _inst_7 _inst_21 _inst_20 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.right_ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g (SMul.smul.{u2, max u3 u5} S (LinearMap.{u1, u1, u3, u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₃ _inst_4 _inst_6 _inst_7 _inst_21) (LinearMap.hasSmul.{u1, u1, u2, u3, u5} R R S M M₃ _inst_1 _inst_1 _inst_4 _inst_6 _inst_7 _inst_21 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_11 _inst_23 _inst_24) a f)) (SMul.smul.{u2, max u3 u4} S (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_4 _inst_5 _inst_7 _inst_20) (LinearMap.hasSmul.{u1, u1, u2, u3, u4} R R S M M₂ _inst_1 _inst_1 _inst_4 _inst_5 _inst_7 _inst_20 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_11 _inst_12 _inst_22) a (LinearMap.comp.{u1, u1, u1, u3, u5, u4} R R R M M₃ M₂ _inst_1 _inst_1 _inst_1 _inst_4 _inst_6 _inst_5 _inst_7 _inst_21 _inst_20 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.right_ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g f))
-but is expected to have type
- forall {R : Type.{u5}} {S : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u5} R] [_inst_4 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_7 : Module.{u5, u1} R M _inst_1 _inst_4] [_inst_11 : Monoid.{u2} S] [_inst_12 : DistribMulAction.{u2, u4} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)] [_inst_20 : Module.{u5, u4} R M₂ _inst_1 _inst_5] [_inst_21 : Module.{u5, u3} R M₃ _inst_1 _inst_6] [_inst_22 : SMulCommClass.{u5, u2, u4} R S M₂ (SMulZeroClass.toSMul.{u5, u4} R M₂ (AddMonoid.toZero.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u5, u4} R M₂ (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u5, u4} R M₂ (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (Module.toMulActionWithZero.{u5, u4} R M₂ _inst_1 _inst_5 _inst_20)))) (SMulZeroClass.toSMul.{u2, u4} S M₂ (AddMonoid.toZero.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u2, u4} S M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u2, u4} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5) _inst_12)))] [_inst_23 : DistribMulAction.{u2, u3} S M₃ _inst_11 (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)] [_inst_24 : SMulCommClass.{u5, u2, u3} R S M₃ (SMulZeroClass.toSMul.{u5, u3} R M₃ (AddMonoid.toZero.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} R M₃ (MonoidWithZero.toZero.{u5} R (Semiring.toMonoidWithZero.{u5} R _inst_1)) (AddMonoid.toZero.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} R M₃ (Semiring.toMonoidWithZero.{u5} R _inst_1) (AddMonoid.toZero.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (Module.toMulActionWithZero.{u5, u3} R M₃ _inst_1 _inst_6 _inst_21)))) (SMulZeroClass.toSMul.{u2, u3} S M₃ (AddMonoid.toZero.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (DistribSMul.toSMulZeroClass.{u2, u3} S M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (DistribMulAction.toDistribSMul.{u2, u3} S M₃ _inst_11 (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6) _inst_23)))] [_inst_25 : LinearMap.CompatibleSMul.{u3, u4, u2, u5} M₃ M₂ _inst_6 _inst_5 S R _inst_1 (SMulZeroClass.toSMul.{u2, u3} S M₃ (AddMonoid.toZero.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (DistribSMul.toSMulZeroClass.{u2, u3} S M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (DistribMulAction.toDistribSMul.{u2, u3} S M₃ _inst_11 (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6) _inst_23))) _inst_21 (SMulZeroClass.toSMul.{u2, u4} S M₂ (AddMonoid.toZero.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u2, u4} S M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u2, u4} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5) _inst_12))) _inst_20] (g : LinearMap.{u5, u5, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M₃ M₂ _inst_6 _inst_5 _inst_21 _inst_20) (a : S) (f : LinearMap.{u5, u5, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₃ _inst_4 _inst_6 _inst_7 _inst_21), Eq.{max (succ u1) (succ u4)} (LinearMap.{u5, u5, u1, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₂ _inst_4 _inst_5 _inst_7 _inst_20) (LinearMap.comp.{u5, u5, u5, u1, u3, u4} R R R M M₃ M₂ _inst_1 _inst_1 _inst_1 _inst_4 _inst_6 _inst_5 _inst_7 _inst_21 _inst_20 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) g (HSMul.hSMul.{u2, max u1 u3, max u1 u3} S (LinearMap.{u5, u5, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₃ _inst_4 _inst_6 _inst_7 _inst_21) (LinearMap.{u5, u5, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₃ _inst_4 _inst_6 _inst_7 _inst_21) (instHSMul.{u2, max u1 u3} S (LinearMap.{u5, u5, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₃ _inst_4 _inst_6 _inst_7 _inst_21) (LinearMap.instSMulLinearMap.{u5, u5, u2, u1, u3} R R S M M₃ _inst_1 _inst_1 _inst_4 _inst_6 _inst_7 _inst_21 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_11 _inst_23 _inst_24)) a f)) (HSMul.hSMul.{u2, max u4 u1, max u1 u4} S (LinearMap.{u5, u5, u1, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₂ _inst_4 _inst_5 _inst_7 _inst_20) (LinearMap.{u5, u5, u1, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₂ _inst_4 _inst_5 _inst_7 _inst_20) (instHSMul.{u2, max u1 u4} S (LinearMap.{u5, u5, u1, u4} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) M M₂ _inst_4 _inst_5 _inst_7 _inst_20) (LinearMap.instSMulLinearMap.{u5, u5, u2, u1, u4} R R S M M₂ _inst_1 _inst_1 _inst_4 _inst_5 _inst_7 _inst_20 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) _inst_11 _inst_12 _inst_22)) a (LinearMap.comp.{u5, u5, u5, u1, u3, u4} R R R M M₃ M₂ _inst_1 _inst_1 _inst_1 _inst_4 _inst_6 _inst_5 _inst_7 _inst_21 _inst_20 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomCompTriple.ids.{u5, u5} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1))) g f))
+<too large>
Case conversion may be inaccurate. Consider using '#align linear_map.comp_smul LinearMap.comp_smulₓ'. -/
-- TODO: generalize this to semilinear maps
theorem comp_smul [Module R M₂] [Module R M₃] [SMulCommClass R S M₂] [DistribMulAction S M₃]
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -243,7 +243,7 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u3) (succ u4)} (M -> M₃) (LinearMap.toFun.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
Case conversion may be inaccurate. Consider using '#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
@@ -254,7 +254,7 @@ theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext LinearMap.extₓ'. -/
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
@@ -265,7 +265,7 @@ theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
+ forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
Case conversion may be inaccurate. Consider using '#align linear_map.copy LinearMap.copyₓ'. -/
/-- Copy of a `linear_map` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -280,7 +280,7 @@ protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
Case conversion may be inaccurate. Consider using '#align linear_map.coe_copy LinearMap.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : ⇑(f.copy f' h) = f' :=
@@ -291,7 +291,7 @@ theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) :
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
Case conversion may be inaccurate. Consider using '#align linear_map.copy_eq LinearMap.copy_eqₓ'. -/
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
FunLike.ext' h
@@ -309,7 +309,7 @@ initialize_simps_projections LinearMap (toFun → apply)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : M -> M₃) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (f x) (f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (f x))), Eq.{max (succ u3) (succ u4)} ((fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
@@ -328,7 +328,7 @@ def id : M →ₗ[R] M :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
Case conversion may be inaccurate. Consider using '#align linear_map.id_apply LinearMap.id_applyₓ'. -/
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
rfl
@@ -338,7 +338,7 @@ theorem id_apply (x : M) : @id R M _ _ _ x = x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
Case conversion may be inaccurate. Consider using '#align linear_map.id_coe LinearMap.id_coeₓ'. -/
@[simp, norm_cast]
theorem id_coe : ((LinearMap.id : M →ₗ[R] M) : M → M) = id :=
@@ -363,7 +363,7 @@ variable (fₗ gₗ : M →ₗ[R] M₂) (f g : M →ₛₗ[σ] M₃)
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
Case conversion may be inaccurate. Consider using '#align linear_map.is_linear LinearMap.isLinearₓ'. -/
theorem isLinear : IsLinearMap R fₗ :=
⟨fₗ.map_add', fₗ.map_smul'⟩
@@ -385,7 +385,7 @@ theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u3} M x x') -> (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
Case conversion may be inaccurate. Consider using '#align linear_map.congr_arg LinearMap.congr_argₓ'. -/
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
FunLike.congr_arg f
@@ -395,7 +395,7 @@ protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.congr_fun LinearMap.congr_funₓ'. -/
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
@@ -406,7 +406,7 @@ protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.ext_iff LinearMap.ext_iffₓ'. -/
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
FunLike.ext_iff
@@ -429,7 +429,7 @@ variable (fₗ gₗ f g)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
Case conversion may be inaccurate. Consider using '#align linear_map.map_add LinearMap.map_addₓ'. -/
protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
map_add f x y
@@ -439,7 +439,7 @@ protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
Case conversion may be inaccurate. Consider using '#align linear_map.map_zero LinearMap.map_zeroₓ'. -/
protected theorem map_zero : f 0 = 0 :=
map_zero f
@@ -449,7 +449,7 @@ protected theorem map_zero : f 0 = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
+ forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
@@ -461,7 +461,7 @@ protected theorem map_smulₛₗ (c : R) (x : M) : f (c • x) = σ c • f x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) c (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ x))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
+ forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul LinearMap.map_smulₓ'. -/
protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
map_smul fₗ c x
@@ -471,7 +471,7 @@ protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -481,7 +481,7 @@ protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u3, succ u4} M M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))) (Eq.{succ u3} M x (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
Case conversion may be inaccurate. Consider using '#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iffₓ'. -/
-- TODO: generalize to `zero_hom_class`
@[simp]
@@ -540,7 +540,7 @@ variable (R M₂)
lean 3 declaration is
forall (R : Type.{u1}) (M : Type.{u2}) (M₂ : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u1, u2, u3} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] (c : R) (s : Set.{u2} M), Eq.{succ u3} (Set.{u3} M₂) (Set.image.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) (SMul.smul.{u1, u2} R (Set.{u2} M) (Set.smulSet.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10))))) c s)) (SMul.smul.{u1, u3} R (Set.{u3} M₂) (Set.smulSet.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11))))) c (Set.image.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) s))
but is expected to have type
- forall (R : Type.{u3}) (M : Type.{u2}) (M₂ : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u3, u2, u1} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₂) (Set.image.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) (HSMul.hSMul.{u3, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u3, u2} R (Set.{u2} M) (Set.smulSet.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} R (Set.{u1} M₂) (Set.{u1} M₂) (instHSMul.{u3, u1} R (Set.{u1} M₂) (Set.smulSet.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))))) c (Set.image.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) s))
+ forall (R : Type.{u3}) (M : Type.{u2}) (M₂ : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u3, u2, u1} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₂) (Set.image.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) (HSMul.hSMul.{u3, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u3, u2} R (Set.{u2} M) (Set.smulSet.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} R (Set.{u1} M₂) (Set.{u1} M₂) (instHSMul.{u3, u1} R (Set.{u1} M₂) (Set.smulSet.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))))) c (Set.image.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) s))
Case conversion may be inaccurate. Consider using '#align image_smul_set image_smul_setₓ'. -/
theorem image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) : h '' (c • s) = c • h '' s :=
image_smul_setₛₗ _ _ _ h c s
@@ -550,7 +550,7 @@ theorem image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) : h '' (c
lean 3 declaration is
forall (R : Type.{u1}) (M : Type.{u2}) (M₂ : Type.{u3}) [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u1, u2, u3} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] {c : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) c) -> (forall (s : Set.{u3} M₂), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) (SMul.smul.{u1, u3} R (Set.{u3} M₂) (Set.smulSet.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11))))) c s)) (SMul.smul.{u1, u2} R (Set.{u2} M) (Set.smulSet.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10))))) c (Set.preimage.{u2, u3} M M₂ (coeFn.{succ u4, max (succ u2) (succ u3)} F (fun (_x : F) => M -> M₂) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u3} F M (fun (_x : M) => M₂) (SMulHomClass.toFunLike.{u4, u1, u2, u3} F R M M₂ (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (DistribSMul.toSmulZeroClass.{u1, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u1, u2} R M (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u1, u3} R M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u3} R M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSmulHomClass.{u4, u1, u2, u3} F R M M₂ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u1, u2, u3, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13)))) h) s)))
but is expected to have type
- forall (R : Type.{u3}) (M : Type.{u2}) (M₂ : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u3, u2, u1} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) c) -> (forall (s : Set.{u1} M₂), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) (HSMul.hSMul.{u3, u1, u1} R (Set.{u1} M₂) (Set.{u1} M₂) (instHSMul.{u3, u1} R (Set.{u1} M₂) (Set.smulSet.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))))) c s)) (HSMul.hSMul.{u3, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u3, u2} R (Set.{u2} M) (Set.smulSet.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) s)))
+ forall (R : Type.{u3}) (M : Type.{u2}) (M₂ : Type.{u1}) [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] {F : Type.{u4}} (h : F) [_inst_13 : LinearMapClass.{u4, u3, u2, u1} F R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11] {c : R}, (IsUnit.{u3} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) c) -> (forall (s : Set.{u1} M₂), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) (HSMul.hSMul.{u3, u1, u1} R (Set.{u1} M₂) (Set.{u1} M₂) (instHSMul.{u3, u1} R (Set.{u1} M₂) (Set.smulSet.{u3, u1} R M₂ (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u3, u1} R M₂ (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u3, u1} R M₂ (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (Module.toMulActionWithZero.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))))) c s)) (HSMul.hSMul.{u3, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u3, u2} R (Set.{u2} M) (Set.smulSet.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₂ (FunLike.coe.{succ u4, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{u4, u3, u2, u1} F R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11)))) (DistribMulActionHomClass.toSMulHomClass.{u4, u3, u2, u1} F R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_3) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_5) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_3 _inst_10) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_5 _inst_11) (SemilinearMapClass.distribMulActionHomClass.{u3, u2, u1, u4} R M M₂ F _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13))) h) s)))
Case conversion may be inaccurate. Consider using '#align preimage_smul_set preimage_smul_setₓ'. -/
theorem preimage_smul_set [LinearMapClass F R M M₂] {c : R} (hc : IsUnit c) (s : Set M₂) :
h ⁻¹' (c • s) = c • h ⁻¹' s :=
@@ -587,7 +587,7 @@ instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u2} M₂] {R : Type.{u3}} {S : Type.{u4}} [_inst_13 : Semiring.{u4} S] [_inst_14 : SMul.{u3, u1} R M] [_inst_15 : Module.{u4, u1} S M _inst_13 _inst_3] [_inst_16 : SMul.{u3, u2} R M₂] [_inst_17 : Module.{u4, u2} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u1, u2, u3, u4} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u2} M₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ (SMul.smul.{u3, u1} R M _inst_14 c x)) (SMul.smul.{u3, u2} R M₂ _inst_16 c (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ x))
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_of_tower LinearMap.map_smul_of_towerₓ'. -/
@[simp]
theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
@@ -609,7 +609,7 @@ def toAddMonoidHom : M →+ M₃ where
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (fun (_x : AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) => M -> M₃) (AddMonoidHom.hasCoeToFun.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (LinearMap.toAddMonoidHom.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
Case conversion may be inaccurate. Consider using '#align linear_map.to_add_monoid_hom_coe LinearMap.toAddMonoidHom_coeₓ'. -/
@[simp]
theorem toAddMonoidHom_coe : ⇑f.toAddMonoidHom = f :=
@@ -638,7 +638,7 @@ def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
lean 3 declaration is
forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u4)} (M -> M₂) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ)
but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
+ forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalarsₓ'. -/
@[simp]
theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
@@ -649,7 +649,7 @@ theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R f
lean 3 declaration is
forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ x)
but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
+ forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_applyₓ'. -/
theorem restrictScalars_apply (fₗ : M →ₗ[S] M₂) (x) : restrictScalars R fₗ x = fₗ x :=
rfl
@@ -696,7 +696,7 @@ theorem toAddMonoidHom_injective : Function.Injective (toAddMonoidHom : (M →
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring LinearMap.ext_ringₓ'. -/
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
@[ext]
@@ -708,7 +708,7 @@ theorem ext_ring {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] {σ : RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} {f : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10} {g : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10}, Iff (Eq.{max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) f g) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_iff LinearMap.ext_ring_iffₓ'. -/
theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1 = g 1 :=
⟨fun h => h ▸ rfl, ext_ring⟩
@@ -718,7 +718,7 @@ theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} (MulOpposite.{u1} R) S (MulOpposite.nonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.nonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.nonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_op LinearMap.ext_ring_opₓ'. -/
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
@@ -775,7 +775,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} M₃ (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.comp_apply LinearMap.comp_applyₓ'. -/
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
@@ -789,7 +789,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u4) (succ u6)} ((fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u4, succ u5, succ u6} M₁ M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_comp LinearMap.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
@@ -828,7 +828,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u4, succ u5} M₁ M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_right LinearMap.cancel_rightₓ'. -/
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h => ext <| hg.forall.2 (ext_iff.1 h), fun h => h ▸ rfl⟩
@@ -838,7 +838,7 @@ theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f =
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u5, succ u6} M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
but is expected to have type
- forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
+ forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_left LinearMap.cancel_leftₓ'. -/
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h => ext fun x => hf <| by rw [← comp_apply, h, comp_apply], fun h => h ▸ rfl⟩
@@ -854,7 +854,7 @@ variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMon
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
+ forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
Case conversion may be inaccurate. Consider using '#align linear_map.inverse LinearMap.inverseₓ'. -/
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
@@ -883,7 +883,7 @@ variable (f : M →ₛₗ[σ] M₂)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (SubNegMonoid.toHasNeg.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3))) x)) (Neg.neg.{u4} M₂ (SubNegMonoid.toHasNeg.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_neg LinearMap.map_negₓ'. -/
protected theorem map_neg (x : M) : f (-x) = -f x :=
map_neg f x
@@ -893,7 +893,7 @@ protected theorem map_neg (x : M) : f (-x) = -f x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toHasSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} M₂ M₂ M₂ (instHSub.{u4} M₂ (SubNegMonoid.toHasSub.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
Case conversion may be inaccurate. Consider using '#align linear_map.map_sub LinearMap.map_subₓ'. -/
protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
@@ -968,7 +968,7 @@ theorem [anonymous] (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u3)} ((fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (fun (_x : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) => M -> M₂) ([anonymous].{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) f)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMapₓ'. -/
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
@@ -1013,7 +1013,7 @@ def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (IsLinearMap.mk'.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
Case conversion may be inaccurate. Consider using '#align is_linear_map.mk'_apply IsLinearMap.mk'_applyₓ'. -/
@[simp]
theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f x :=
@@ -1171,7 +1171,7 @@ theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (fun (_x : LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Int Int M M₂ Int.semiring Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring))) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_int_linear_map AddMonoidHom.coe_toIntLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) :
@@ -1205,7 +1205,7 @@ theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [A
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (fun (_x : LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_rat_linear_map AddMonoidHom.coe_toRatLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
@@ -1241,7 +1241,7 @@ instance : SMul S (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u5} M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f) x) (SMul.smul.{u3, u5} S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
+ forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.smul_apply LinearMap.smul_applyₓ'. -/
@[simp]
theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f) x = a • f x :=
@@ -1252,7 +1252,7 @@ theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f)
lean 3 declaration is
forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{succ (max u4 u5)} (M -> M₂) (coeFn.{succ (max u4 u5), succ (max u4 u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f)) (SMul.smul.{u3, max u4 u5} S (M -> M₂) (Function.hasSMul.{u4, u3, u5} M S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
+ forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_smul LinearMap.coe_smulₓ'. -/
theorem coe_smul (a : S) (f : M →ₛₗ[σ₁₂] M₂) : ⇑(a • f) = a • f :=
rfl
@@ -1298,7 +1298,7 @@ instance : Zero (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (OfNat.mk.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.zero.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasZero.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)))) x) (OfNat.ofNat.{u4} M₂ 0 (OfNat.mk.{u4} M₂ 0 (Zero.zero.{u4} M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))))))
but is expected to have type
- forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5))))
+ forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5))))
Case conversion may be inaccurate. Consider using '#align linear_map.zero_apply LinearMap.zero_applyₓ'. -/
@[simp]
theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
@@ -1352,7 +1352,7 @@ instance : Add (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasAdd.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u4, u4, u4} M₂ M₂ M₂ (instHAdd.{u4} M₂ (AddZeroClass.toHasAdd.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.add_apply LinearMap.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x + g x :=
@@ -1396,7 +1396,7 @@ instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasNeg.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u4} N₂ (SubNegMonoid.toHasNeg.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.neg_apply LinearMap.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
@@ -1440,7 +1440,7 @@ instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasSub.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u4, u4, u4} N₂ N₂ N₂ (instHSub.{u4} N₂ (SubNegMonoid.toHasSub.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.sub_apply LinearMap.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x - g x :=
@@ -1588,7 +1588,7 @@ theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) x) x
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
Case conversion may be inaccurate. Consider using '#align linear_map.one_apply LinearMap.one_applyₓ'. -/
@[simp]
theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
@@ -1599,7 +1599,7 @@ theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g) x) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g x))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply LinearMap.mul_applyₓ'. -/
@[simp]
theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
@@ -1610,7 +1610,7 @@ theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (id.{succ u2} M)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_one LinearMap.coe_oneₓ'. -/
theorem coe_one : ⇑(1 : Module.End R M) = id :=
rfl
@@ -1620,7 +1620,7 @@ theorem coe_one : ⇑(1 : Module.End R M) = id :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4), Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u2, succ u2, succ u2} M M M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mul LinearMap.coe_mulₓ'. -/
theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
@@ -1659,7 +1659,7 @@ instance Module.End.semiring : Semiring (Module.End R M) :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Nat.castCoe.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)))))))) n) m) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) n m)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_apply Module.End.natCast_applyₓ'. -/
/-- See also `module.End.nat_cast_def`. -/
@[simp]
@@ -1681,7 +1681,7 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
lean 3 declaration is
forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} N₁ (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) N₁ N₁ (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5) => N₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5))))))) z) m) (SMul.smul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3))) z m)
but is expected to have type
- forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
+ forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_apply Module.End.intCast_applyₓ'. -/
/-- See also `module.End.int_cast_def`. -/
@[simp]
@@ -1750,7 +1750,7 @@ instance applyModule : Module (Module.End R M) M
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u2} M (SMul.smul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toHasSmul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (MulZeroClass.toHasZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MulZeroOneClass.toMulZeroClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MonoidWithZero.toMulZeroOneClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) f a) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f a)
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
Case conversion may be inaccurate. Consider using '#align linear_map.smul_def LinearMap.smul_defₓ'. -/
@[simp]
protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/95a87616d63b3cb49d3fe678d416fbe9c4217bf4
@@ -195,7 +195,7 @@ include i
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} {F : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : F) [i : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f x)) (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_invₓ'. -/
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -309,7 +309,7 @@ initialize_simps_projections LinearMap (toFun → apply)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : M -> M₃) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (f x) (f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (f x))), Eq.{max (succ u3) (succ u4)} ((fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
@@ -416,7 +416,7 @@ theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f) h₁ h₂) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
Case conversion may be inaccurate. Consider using '#align linear_map.mk_coe LinearMap.mk_coeₓ'. -/
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
@@ -449,7 +449,7 @@ protected theorem map_zero : f 0 = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
+ forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
@@ -471,7 +471,7 @@ protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -503,7 +503,7 @@ variable (M M₃ σ) {F : Type _} (h : F)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u3} M), Eq.{succ u4} (Set.{u4} M₃) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c s)) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
+ forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
Case conversion may be inaccurate. Consider using '#align image_smul_setₛₗ image_smul_setₛₗₓ'. -/
@[simp]
theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
@@ -519,7 +519,7 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) c) -> (forall (s : Set.{u4} M₃), Eq.{succ u3} (Set.{u3} M) (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) s)) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s)))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
+ forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
Case conversion may be inaccurate. Consider using '#align preimage_smul_setₛₗ preimage_smul_setₛₗₓ'. -/
theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
@@ -1890,7 +1890,7 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
lean 3 declaration is
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))))) n) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (fun (_x : RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) => Nat -> (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.hasCoeToFun.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_def Module.End.natCast_defₓ'. -/
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
(↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
@@ -1901,7 +1901,7 @@ theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
lean 3 declaration is
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))))))) z) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (fun (_x : RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) => Int -> (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.hasCoeToFun.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.semiring (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_def Module.End.intCast_defₓ'. -/
theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
(↑z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -243,7 +243,7 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u3) (succ u4)} (M -> M₃) (LinearMap.toFun.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
Case conversion may be inaccurate. Consider using '#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
@@ -254,7 +254,7 @@ theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext LinearMap.extₓ'. -/
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
@@ -265,7 +265,7 @@ theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
+ forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
Case conversion may be inaccurate. Consider using '#align linear_map.copy LinearMap.copyₓ'. -/
/-- Copy of a `linear_map` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -280,7 +280,7 @@ protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
Case conversion may be inaccurate. Consider using '#align linear_map.coe_copy LinearMap.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : ⇑(f.copy f' h) = f' :=
@@ -291,7 +291,7 @@ theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) :
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
Case conversion may be inaccurate. Consider using '#align linear_map.copy_eq LinearMap.copy_eqₓ'. -/
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
FunLike.ext' h
@@ -309,7 +309,7 @@ initialize_simps_projections LinearMap (toFun → apply)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : M -> M₃) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (f x) (f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (f x))), Eq.{max (succ u3) (succ u4)} ((fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
@@ -328,7 +328,7 @@ def id : M →ₗ[R] M :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
Case conversion may be inaccurate. Consider using '#align linear_map.id_apply LinearMap.id_applyₓ'. -/
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
rfl
@@ -338,7 +338,7 @@ theorem id_apply (x : M) : @id R M _ _ _ x = x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
Case conversion may be inaccurate. Consider using '#align linear_map.id_coe LinearMap.id_coeₓ'. -/
@[simp, norm_cast]
theorem id_coe : ((LinearMap.id : M →ₗ[R] M) : M → M) = id :=
@@ -363,7 +363,7 @@ variable (fₗ gₗ : M →ₗ[R] M₂) (f g : M →ₛₗ[σ] M₃)
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
Case conversion may be inaccurate. Consider using '#align linear_map.is_linear LinearMap.isLinearₓ'. -/
theorem isLinear : IsLinearMap R fₗ :=
⟨fₗ.map_add', fₗ.map_smul'⟩
@@ -385,7 +385,7 @@ theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u3} M x x') -> (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
Case conversion may be inaccurate. Consider using '#align linear_map.congr_arg LinearMap.congr_argₓ'. -/
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
FunLike.congr_arg f
@@ -395,7 +395,7 @@ protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.congr_fun LinearMap.congr_funₓ'. -/
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
@@ -406,7 +406,7 @@ protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.ext_iff LinearMap.ext_iffₓ'. -/
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
FunLike.ext_iff
@@ -416,7 +416,7 @@ theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f) h₁ h₂) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.semilinearMapClass.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
Case conversion may be inaccurate. Consider using '#align linear_map.mk_coe LinearMap.mk_coeₓ'. -/
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
@@ -429,7 +429,7 @@ variable (fₗ gₗ f g)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
Case conversion may be inaccurate. Consider using '#align linear_map.map_add LinearMap.map_addₓ'. -/
protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
map_add f x y
@@ -439,7 +439,7 @@ protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
Case conversion may be inaccurate. Consider using '#align linear_map.map_zero LinearMap.map_zeroₓ'. -/
protected theorem map_zero : f 0 = 0 :=
map_zero f
@@ -449,7 +449,7 @@ protected theorem map_zero : f 0 = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
+ forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
@@ -461,7 +461,7 @@ protected theorem map_smulₛₗ (c : R) (x : M) : f (c • x) = σ c • f x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) c (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ x))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
+ forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul LinearMap.map_smulₓ'. -/
protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
map_smul fₗ c x
@@ -471,7 +471,7 @@ protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -481,7 +481,7 @@ protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u3, succ u4} M M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))) (Eq.{succ u3} M x (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
Case conversion may be inaccurate. Consider using '#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iffₓ'. -/
-- TODO: generalize to `zero_hom_class`
@[simp]
@@ -587,7 +587,7 @@ instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u2} M₂] {R : Type.{u3}} {S : Type.{u4}} [_inst_13 : Semiring.{u4} S] [_inst_14 : SMul.{u3, u1} R M] [_inst_15 : Module.{u4, u1} S M _inst_13 _inst_3] [_inst_16 : SMul.{u3, u2} R M₂] [_inst_17 : Module.{u4, u2} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u1, u2, u3, u4} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u2} M₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ (SMul.smul.{u3, u1} R M _inst_14 c x)) (SMul.smul.{u3, u2} R M₂ _inst_16 c (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ x))
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_of_tower LinearMap.map_smul_of_towerₓ'. -/
@[simp]
theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
@@ -609,7 +609,7 @@ def toAddMonoidHom : M →+ M₃ where
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (fun (_x : AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) => M -> M₃) (AddMonoidHom.hasCoeToFun.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (LinearMap.toAddMonoidHom.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
Case conversion may be inaccurate. Consider using '#align linear_map.to_add_monoid_hom_coe LinearMap.toAddMonoidHom_coeₓ'. -/
@[simp]
theorem toAddMonoidHom_coe : ⇑f.toAddMonoidHom = f :=
@@ -638,7 +638,7 @@ def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
lean 3 declaration is
forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u4)} (M -> M₂) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ)
but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
+ forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalarsₓ'. -/
@[simp]
theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
@@ -649,7 +649,7 @@ theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R f
lean 3 declaration is
forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ x)
but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
+ forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_applyₓ'. -/
theorem restrictScalars_apply (fₗ : M →ₗ[S] M₂) (x) : restrictScalars R fₗ x = fₗ x :=
rfl
@@ -696,7 +696,7 @@ theorem toAddMonoidHom_injective : Function.Injective (toAddMonoidHom : (M →
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring LinearMap.ext_ringₓ'. -/
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
@[ext]
@@ -708,7 +708,7 @@ theorem ext_ring {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] {σ : RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} {f : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10} {g : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10}, Iff (Eq.{max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) f g) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_iff LinearMap.ext_ring_iffₓ'. -/
theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1 = g 1 :=
⟨fun h => h ▸ rfl, ext_ring⟩
@@ -718,7 +718,7 @@ theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} (MulOpposite.{u1} R) S (MulOpposite.nonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.nonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.nonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_op LinearMap.ext_ring_opₓ'. -/
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
@@ -775,7 +775,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} M₃ (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.comp_apply LinearMap.comp_applyₓ'. -/
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
@@ -789,7 +789,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u4) (succ u6)} ((fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u4, succ u5, succ u6} M₁ M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_comp LinearMap.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
@@ -828,7 +828,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u4, succ u5} M₁ M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_right LinearMap.cancel_rightₓ'. -/
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h => ext <| hg.forall.2 (ext_iff.1 h), fun h => h ▸ rfl⟩
@@ -838,7 +838,7 @@ theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f =
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u5, succ u6} M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
but is expected to have type
- forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
+ forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_left LinearMap.cancel_leftₓ'. -/
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h => ext fun x => hf <| by rw [← comp_apply, h, comp_apply], fun h => h ▸ rfl⟩
@@ -854,7 +854,7 @@ variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMon
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
+ forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
Case conversion may be inaccurate. Consider using '#align linear_map.inverse LinearMap.inverseₓ'. -/
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
@@ -883,7 +883,7 @@ variable (f : M →ₛₗ[σ] M₂)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (SubNegMonoid.toHasNeg.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3))) x)) (Neg.neg.{u4} M₂ (SubNegMonoid.toHasNeg.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_neg LinearMap.map_negₓ'. -/
protected theorem map_neg (x : M) : f (-x) = -f x :=
map_neg f x
@@ -893,7 +893,7 @@ protected theorem map_neg (x : M) : f (-x) = -f x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toHasSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} M₂ M₂ M₂ (instHSub.{u4} M₂ (SubNegMonoid.toHasSub.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
Case conversion may be inaccurate. Consider using '#align linear_map.map_sub LinearMap.map_subₓ'. -/
protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
@@ -968,7 +968,7 @@ theorem [anonymous] (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u3)} ((fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (fun (_x : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) => M -> M₂) ([anonymous].{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) f)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMapₓ'. -/
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
@@ -1013,7 +1013,7 @@ def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (IsLinearMap.mk'.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
Case conversion may be inaccurate. Consider using '#align is_linear_map.mk'_apply IsLinearMap.mk'_applyₓ'. -/
@[simp]
theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f x :=
@@ -1171,7 +1171,7 @@ theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (fun (_x : LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Int Int M M₂ Int.semiring Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring))) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_int_linear_map AddMonoidHom.coe_toIntLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) :
@@ -1205,7 +1205,7 @@ theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [A
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (fun (_x : LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_rat_linear_map AddMonoidHom.coe_toRatLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
@@ -1241,7 +1241,7 @@ instance : SMul S (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u5} M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f) x) (SMul.smul.{u3, u5} S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
+ forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.smul_apply LinearMap.smul_applyₓ'. -/
@[simp]
theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f) x = a • f x :=
@@ -1252,7 +1252,7 @@ theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f)
lean 3 declaration is
forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{succ (max u4 u5)} (M -> M₂) (coeFn.{succ (max u4 u5), succ (max u4 u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f)) (SMul.smul.{u3, max u4 u5} S (M -> M₂) (Function.hasSMul.{u4, u3, u5} M S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
+ forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_smul LinearMap.coe_smulₓ'. -/
theorem coe_smul (a : S) (f : M →ₛₗ[σ₁₂] M₂) : ⇑(a • f) = a • f :=
rfl
@@ -1298,7 +1298,7 @@ instance : Zero (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (OfNat.mk.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.zero.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasZero.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)))) x) (OfNat.ofNat.{u4} M₂ 0 (OfNat.mk.{u4} M₂ 0 (Zero.zero.{u4} M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))))))
but is expected to have type
- forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5))))
+ forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5))))
Case conversion may be inaccurate. Consider using '#align linear_map.zero_apply LinearMap.zero_applyₓ'. -/
@[simp]
theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
@@ -1352,7 +1352,7 @@ instance : Add (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasAdd.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u4, u4, u4} M₂ M₂ M₂ (instHAdd.{u4} M₂ (AddZeroClass.toHasAdd.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.add_apply LinearMap.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x + g x :=
@@ -1396,7 +1396,7 @@ instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasNeg.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u4} N₂ (SubNegMonoid.toHasNeg.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.neg_apply LinearMap.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
@@ -1440,7 +1440,7 @@ instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasSub.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u4, u4, u4} N₂ N₂ N₂ (instHSub.{u4} N₂ (SubNegMonoid.toHasSub.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.sub_apply LinearMap.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x - g x :=
@@ -1588,7 +1588,7 @@ theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) x) x
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
Case conversion may be inaccurate. Consider using '#align linear_map.one_apply LinearMap.one_applyₓ'. -/
@[simp]
theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
@@ -1599,7 +1599,7 @@ theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g) x) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g x))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply LinearMap.mul_applyₓ'. -/
@[simp]
theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
@@ -1610,7 +1610,7 @@ theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (id.{succ u2} M)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_one LinearMap.coe_oneₓ'. -/
theorem coe_one : ⇑(1 : Module.End R M) = id :=
rfl
@@ -1620,7 +1620,7 @@ theorem coe_one : ⇑(1 : Module.End R M) = id :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4), Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u2, succ u2, succ u2} M M M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mul LinearMap.coe_mulₓ'. -/
theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
@@ -1659,7 +1659,7 @@ instance Module.End.semiring : Semiring (Module.End R M) :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Nat.castCoe.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)))))))) n) m) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) n m)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_apply Module.End.natCast_applyₓ'. -/
/-- See also `module.End.nat_cast_def`. -/
@[simp]
@@ -1681,7 +1681,7 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
lean 3 declaration is
forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} N₁ (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) N₁ N₁ (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5) => N₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5))))))) z) m) (SMul.smul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3))) z m)
but is expected to have type
- forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
+ forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_apply Module.End.intCast_applyₓ'. -/
/-- See also `module.End.int_cast_def`. -/
@[simp]
@@ -1750,7 +1750,7 @@ instance applyModule : Module (Module.End R M) M
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u2} M (SMul.smul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toHasSmul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (MulZeroClass.toHasZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MulZeroOneClass.toMulZeroClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MonoidWithZero.toMulZeroOneClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) f a) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f a)
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
Case conversion may be inaccurate. Consider using '#align linear_map.smul_def LinearMap.smul_defₓ'. -/
@[simp]
protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -1143,7 +1143,7 @@ theorem AddMonoidHom.toNatLinearMap_injective [AddCommMonoid M] [AddCommMonoid M
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) -> (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2))
but is expected to have type
- forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) -> (LinearMap.{0, 0, u1, u2} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt))) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2))
+ forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) -> (LinearMap.{0, 0, u1, u2} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2))
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_int_linear_map AddMonoidHom.toIntLinearMapₓ'. -/
/-- Reinterpret an additive homomorphism as a `ℤ`-linear map. -/
def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) : M →ₗ[ℤ] M₂
@@ -1157,7 +1157,7 @@ def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_int_linear_map_injective AddMonoidHom.toIntLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M₂] :
Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) :=
@@ -1171,7 +1171,7 @@ theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (fun (_x : LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Int Int M M₂ Int.semiring Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring))) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt)))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_int_linear_map AddMonoidHom.coe_toIntLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) :
@@ -1191,7 +1191,7 @@ def AddMonoidHom.toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)], Function.Injective.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat))))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)], Function.Injective.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.to_rat_linear_map_injective AddMonoidHom.toRatLinearMap_injectiveₓ'. -/
theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
[Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) :=
@@ -1205,7 +1205,7 @@ theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [A
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (fun (_x : LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat))))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat)))))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_rat_linear_map AddMonoidHom.coe_toRatLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
mathlib commit https://github.com/leanprover-community/mathlib/commit/347636a7a80595d55bedf6e6fbd996a3c39da69a
@@ -195,7 +195,7 @@ include i
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} {F : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : F) [i : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f x)) (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} {_inst_1 : Semiring.{u4} R} {_inst_2 : Semiring.{u5} S} {_inst_3 : AddCommMonoid.{u1} M} {_inst_6 : AddCommMonoid.{u3} M₃} {_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3} {_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6} {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u5} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_invₓ'. -/
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce86f4e05e9a9b8da5e316b22c76ce76440c56a1
@@ -1679,7 +1679,7 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
/- warning: module.End.int_cast_apply -> Module.End.intCast_apply is a dubious translation:
lean 3 declaration is
- forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} N₁ (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) N₁ N₁ (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5) => N₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (NonAssocRing.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toNonAssocRing.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5))))))) z) m) (SMul.smul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3))) z m)
+ forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} N₁ (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) N₁ N₁ (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5) => N₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5))))))) z) m) (SMul.smul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3))) z m)
but is expected to have type
forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_apply Module.End.intCast_applyₓ'. -/
@@ -1899,7 +1899,7 @@ theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
/- warning: module.End.int_cast_def -> Module.End.intCast_def is a dubious translation:
lean 3 declaration is
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocRing.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toNonAssocRing.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))))))) z) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (fun (_x : RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) => Int -> (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.hasCoeToFun.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.semiring (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddCommGroupWithOne.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toAddCommGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))))))) z) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (fun (_x : RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) => Int -> (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.hasCoeToFun.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.semiring (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
but is expected to have type
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_def Module.End.intCast_defₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/b19481deb571022990f1baa9cbf9172e6757a479
@@ -718,7 +718,7 @@ theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} (MulOpposite.{u1} R) S (MulOpposite.nonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.instNonAssocSemiringMulOpposite.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.nonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.semiring.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.semiring.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_op LinearMap.ext_ring_opₓ'. -/
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
@@ -1856,7 +1856,7 @@ def toModuleEnd : S →+* Module.End R M :=
lean 3 declaration is
forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} R) (Module.End.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.hasMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (MulOpposite.hasAdd.{u1} R (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (LinearMap.module.End.hasMul.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (LinearMap.hasAdd.{u1, u1, u1, u1} R R R R _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))
but is expected to have type
- forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} R) (Module.End.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.instMulMulOpposite.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.instMulEnd.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.instAddMulOpposite.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (LinearMap.instAddLinearMap.{u1, u1, u1, u1} R R R R _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))
+ forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} (MulOpposite.{u1} R) (Module.End.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.mul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.instMulEnd.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (MulOpposite.add.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))) (LinearMap.instAddLinearMap.{u1, u1, u1, u1} R R R R _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))
Case conversion may be inaccurate. Consider using '#align module.module_End_self Module.moduleEndSelfₓ'. -/
/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `module.End R R` induced by the right
multiplication. -/
@@ -1873,7 +1873,7 @@ def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.End R R :=
lean 3 declaration is
forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} R (Module.End.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.module.End.hasMul.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (LinearMap.hasAdd.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) R R (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1) (Semiring.toOppositeModule.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))
but is expected to have type
- forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} R (Module.End.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.instMulEnd.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.instAddLinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) R R (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1) (Semiring.toOppositeModule.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.instSemiringMulOpposite.{u1} R _inst_1))))
+ forall (R : Type.{u1}) [_inst_1 : Semiring.{u1} R], RingEquiv.{u1, u1} R (Module.End.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.instMulEnd.{u1, u1} (MulOpposite.{u1} R) R (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1)) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (LinearMap.instAddLinearMap.{u1, u1, u1, u1} (MulOpposite.{u1} R) (MulOpposite.{u1} R) R R (MulOpposite.semiring.{u1} R _inst_1) (MulOpposite.semiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toOppositeModule.{u1} R _inst_1) (Semiring.toOppositeModule.{u1} R _inst_1) (RingHom.id.{u1} (MulOpposite.{u1} R) (Semiring.toNonAssocSemiring.{u1} (MulOpposite.{u1} R) (MulOpposite.semiring.{u1} R _inst_1))))
Case conversion may be inaccurate. Consider using '#align module.module_End_self_op Module.moduleEndSelfOpₓ'. -/
/-- The canonical (semi)ring isomorphism from `R` to `module.End Rᵐᵒᵖ R` induced by the left
multiplication. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -195,7 +195,7 @@ include i
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} {F : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : F) [i : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f x)) (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} {_inst_1 : Semiring.{u4} R} {_inst_2 : Semiring.{u5} S} {_inst_3 : AddCommMonoid.{u1} M} {_inst_6 : AddCommMonoid.{u3} M₃} {_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3} {_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6} {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} {_inst_1 : Semiring.{u4} R} {_inst_2 : Semiring.{u5} S} {_inst_3 : AddCommMonoid.{u1} M} {_inst_6 : AddCommMonoid.{u3} M₃} {_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3} {_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6} {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_invₓ'. -/
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -243,7 +243,7 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u3) (succ u4)} (M -> M₃) (LinearMap.toFun.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Eq.{max (succ u2) (succ u1)} (M -> M₃) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (LinearMap.toAddHom.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
Case conversion may be inaccurate. Consider using '#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coeₓ'. -/
@[simp]
theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
@@ -254,7 +254,7 @@ theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} {f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (forall (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x)) -> (Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext LinearMap.extₓ'. -/
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
@@ -265,7 +265,7 @@ theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
+ forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃), (Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12)
Case conversion may be inaccurate. Consider using '#align linear_map.copy LinearMap.copyₓ'. -/
/-- Copy of a `linear_map` with a new `to_fun` equal to the old one. Useful to fix definitional
equalities. -/
@@ -280,7 +280,7 @@ protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h)) f'
Case conversion may be inaccurate. Consider using '#align linear_map.coe_copy LinearMap.coe_copyₓ'. -/
@[simp]
theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : ⇑(f.copy f' h) = f' :=
@@ -291,7 +291,7 @@ theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) :
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u3) (succ u4)} (M -> M₃) f' (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (f' : M -> M₃) (h : Eq.{max (succ u2) (succ u1)} (M -> M₃) f' (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (f : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) f) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.copy.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f f' h) f
Case conversion may be inaccurate. Consider using '#align linear_map.copy_eq LinearMap.copy_eqₓ'. -/
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
FunLike.ext' h
@@ -309,7 +309,7 @@ initialize_simps_projections LinearMap (toFun → apply)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : M -> M₃) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (f x) (f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (f x))), Eq.{max (succ u3) (succ u4)} ((fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
@@ -328,7 +328,7 @@ def id : M →ₗ[R] M :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10) x) x
Case conversion may be inaccurate. Consider using '#align linear_map.id_apply LinearMap.id_applyₓ'. -/
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
rfl
@@ -338,7 +338,7 @@ theorem id_apply (x : M) : @id R M _ _ _ x = x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} ((fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (coeFn.{succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) a) (FunLike.coe.{succ u2, succ u2, succ u2} (LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_3 _inst_3 _inst_10 _inst_10) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_3 _inst_3 _inst_10 _inst_10 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.id.{u1, u2} R M _inst_1 _inst_3 _inst_10)) (id.{succ u2} M)
Case conversion may be inaccurate. Consider using '#align linear_map.id_coe LinearMap.id_coeₓ'. -/
@[simp, norm_cast]
theorem id_coe : ((LinearMap.id : M →ₗ[R] M) : M → M) = id :=
@@ -363,7 +363,7 @@ variable (fₗ gₗ : M →ₗ[R] M₂) (f g : M →ₛₗ[σ] M₃)
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u3, u1} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11), IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) fₗ)
Case conversion may be inaccurate. Consider using '#align linear_map.is_linear LinearMap.isLinearₓ'. -/
theorem isLinear : IsLinearMap R fₗ :=
⟨fₗ.map_add', fₗ.map_smul'⟩
@@ -385,7 +385,7 @@ theorem coe_injective : @Injective (M →ₛₗ[σ] M₃) (M → M₃) coeFn :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u3} M x x') -> (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {x : M} {x' : M}, (Eq.{succ u4} M x x') -> (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x'))
Case conversion may be inaccurate. Consider using '#align linear_map.congr_arg LinearMap.congr_argₓ'. -/
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
FunLike.congr_arg f
@@ -395,7 +395,7 @@ protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) -> (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.congr_fun LinearMap.congr_funₓ'. -/
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
@@ -406,7 +406,7 @@ protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} {f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12} {g : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12}, Iff (Eq.{max (succ u4) (succ u3)} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) f g) (forall (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.ext_iff LinearMap.ext_iffₓ'. -/
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
FunLike.ext_iff
@@ -416,7 +416,7 @@ theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f) h₁ h₂) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
Case conversion may be inaccurate. Consider using '#align linear_map.mk_coe LinearMap.mk_coeₓ'. -/
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
@@ -429,7 +429,7 @@ variable (fₗ gₗ f g)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (instHAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddZeroClass.toAdd.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toAddZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))
Case conversion may be inaccurate. Consider using '#align linear_map.map_add LinearMap.map_addₓ'. -/
protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
map_add f x y
@@ -439,7 +439,7 @@ protected theorem map_add (x y : M) : f (x + y) = f x + f y :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u2, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (OfNat.ofNat.{u3} M 0 (Zero.toOfNat0.{u3} M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))) _inst_6))))
Case conversion may be inaccurate. Consider using '#align linear_map.map_zero LinearMap.map_zeroₓ'. -/
protected theorem map_zero : f 0 = 0 :=
map_zero f
@@ -449,7 +449,7 @@ protected theorem map_zero : f 0 = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
+ forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
@@ -461,7 +461,7 @@ protected theorem map_smulₛₗ (c : R) (x : M) : f (c • x) = σ c • f x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Module.toMulActionWithZero.{u1, u2} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u1, u3} R M₂ (SMulZeroClass.toHasSmul.{u1, u3} R M₂ (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M₂ (AddMonoid.toAddZeroClass.{u3} M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u3} R M₂ _inst_1 _inst_5 _inst_11)))) c (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) fₗ x))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
+ forall {R : Type.{u2}} {M : Type.{u1}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u3} M₂] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] [_inst_11 : Module.{u2, u3} R M₂ _inst_1 _inst_5] (fₗ : LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (c : R) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ (HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u2, u1} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u2, u3, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SMulZeroClass.toSMul.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (SMulWithZero.toSMulZeroClass.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (MulActionWithZero.toSMulWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (Semiring.toMonoidWithZero.{u2} R _inst_1) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (Module.toMulActionWithZero.{u2, u3} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_1 _inst_5 _inst_11))))) c (FunLike.coe.{max (succ u1) (succ u3), succ u1, succ u3} (LinearMap.{u2, u2, u1, u3} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u3} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) fₗ x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul LinearMap.map_smulₓ'. -/
protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
map_smul fₗ c x
@@ -471,7 +471,7 @@ protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -481,7 +481,7 @@ protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u3, succ u4} M M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u4} M₃ 0 (OfNat.mk.{u4} M₃ 0 (Zero.zero.{u4} M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))))))) (Eq.{succ u3} M x (OfNat.ofNat.{u3} M 0 (OfNat.mk.{u3} M 0 (Zero.zero.{u3} M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))))))))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), (Function.Injective.{succ u4, succ u3} M M₃ (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)) -> (forall {x : M}, Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) x) _inst_6))))) (Eq.{succ u4} M x (OfNat.ofNat.{u4} M 0 (Zero.toOfNat0.{u4} M (AddMonoid.toZero.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))))))
Case conversion may be inaccurate. Consider using '#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iffₓ'. -/
-- TODO: generalize to `zero_hom_class`
@[simp]
@@ -503,7 +503,7 @@ variable (M M₃ σ) {F : Type _} (h : F)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u3} M), Eq.{succ u4} (Set.{u4} M₃) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c s)) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
+ forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
Case conversion may be inaccurate. Consider using '#align image_smul_setₛₗ image_smul_setₛₗₓ'. -/
@[simp]
theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
@@ -519,7 +519,7 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) c) -> (forall (s : Set.{u4} M₃), Eq.{succ u3} (Set.{u3} M) (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) s)) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s)))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
+ forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
Case conversion may be inaccurate. Consider using '#align preimage_smul_setₛₗ preimage_smul_setₛₗₓ'. -/
theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
@@ -587,7 +587,7 @@ instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_3 : AddCommMonoid.{u1} M] [_inst_5 : AddCommMonoid.{u2} M₂] {R : Type.{u3}} {S : Type.{u4}} [_inst_13 : Semiring.{u4} S] [_inst_14 : SMul.{u3, u1} R M] [_inst_15 : Module.{u4, u1} S M _inst_13 _inst_3] [_inst_16 : SMul.{u3, u2} R M₂] [_inst_17 : Module.{u4, u2} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u1, u2, u3, u4} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u2} M₂ (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ (SMul.smul.{u3, u1} R M _inst_14 c x)) (SMul.smul.{u3, u2} R M₂ _inst_16 c (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (fun (_x : LinearMap.{u4, u4, u1, u2} S S _inst_13 _inst_13 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) => M -> M₂) (LinearMap.hasCoeToFun.{u4, u4, u1, u2} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_13))) fₗ x))
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_3 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] {R : Type.{u4}} {S : Type.{u3}} [_inst_13 : Semiring.{u3} S] [_inst_14 : SMul.{u4, u2} R M] [_inst_15 : Module.{u3, u2} S M _inst_13 _inst_3] [_inst_16 : SMul.{u4, u1} R M₂] [_inst_17 : Module.{u3, u1} S M₂ _inst_13 _inst_5] [_inst_18 : LinearMap.CompatibleSMul.{u2, u1, u4, u3} M M₂ _inst_3 _inst_5 R S _inst_13 _inst_14 _inst_15 _inst_16 _inst_17] (fₗ : LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) (c : R) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M _inst_14) c x)) (HSMul.hSMul.{u4, u1, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSMul.{u4, u1} R ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_16) c (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} S S _inst_13 _inst_13 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13)) M M₂ _inst_3 _inst_5 _inst_15 _inst_17) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} S S M M₂ _inst_13 _inst_13 _inst_3 _inst_5 _inst_15 _inst_17 (RingHom.id.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_13))) fₗ x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_of_tower LinearMap.map_smul_of_towerₓ'. -/
@[simp]
theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
@@ -609,7 +609,7 @@ def toAddMonoidHom : M →+ M₃ where
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u3) (succ u4)} (M -> M₃) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (fun (_x : AddMonoidHom.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) => M -> M₃) (AddMonoidHom.hasCoeToFun.{u3, u4} M M₃ (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (LinearMap.toAddMonoidHom.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u4}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u4} M] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_10 : Module.{u2, u4} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₃) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddZeroClass.toAdd.{u4} M (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6)) (AddMonoidHom.addMonoidHomClass.{u4, u3} M M₃ (AddMonoid.toAddZeroClass.{u4} M (AddCommMonoid.toAddMonoid.{u4} M _inst_3)) (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))))) (LinearMap.toAddMonoidHom.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (LinearMap.{u2, u1, u4, u3} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u4, u3} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f)
Case conversion may be inaccurate. Consider using '#align linear_map.to_add_monoid_hom_coe LinearMap.toAddMonoidHom_coeₓ'. -/
@[simp]
theorem toAddMonoidHom_coe : ⇑f.toAddMonoidHom = f :=
@@ -638,7 +638,7 @@ def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
lean 3 declaration is
forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u4)} (M -> M₂) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ)
but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
+ forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalarsₓ'. -/
@[simp]
theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
@@ -649,7 +649,7 @@ theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R f
lean 3 declaration is
forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u4} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u2, u4} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u4, u1, u2} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toHasSmul.{u1, u4} R M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u1, u4} R M₂ (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u1, u4} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))) (Module.toMulActionWithZero.{u1, u4} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (fun (_x : LinearMap.{u2, u2, u3, u4} S S _inst_2 _inst_2 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) => M -> M₂) (LinearMap.hasCoeToFun.{u2, u2, u3, u4} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) fₗ x)
but is expected to have type
- forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
+ forall (R : Type.{u1}) {S : Type.{u4}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_11 : Module.{u1, u2} R M₂ _inst_1 _inst_5] [_inst_13 : Module.{u4, u3} S M _inst_2 _inst_3] [_inst_14 : Module.{u4, u2} S M₂ _inst_2 _inst_5] [_inst_15 : LinearMap.CompatibleSMul.{u3, u2, u1, u4} M M₂ _inst_3 _inst_5 R S _inst_2 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) _inst_13 (SMulZeroClass.toSMul.{u1, u2} R M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M₂ (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M₂ (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u1, u2} R M₂ _inst_1 _inst_5 _inst_11)))) _inst_14] (fₗ : LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u1, u1, u3, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_3 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u3, u2} R R M M₂ _inst_1 _inst_1 _inst_3 _inst_5 _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (LinearMap.restrictScalars.{u1, u4, u3, u2} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_10 _inst_11 _inst_13 _inst_14 _inst_15 fₗ) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u4, u4, u3, u2} S S _inst_2 _inst_2 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) M M₂ _inst_3 _inst_5 _inst_13 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u4, u3, u2} S S M M₂ _inst_2 _inst_2 _inst_3 _inst_5 _inst_13 _inst_14 (RingHom.id.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) fₗ x)
Case conversion may be inaccurate. Consider using '#align linear_map.restrict_scalars_apply LinearMap.restrictScalars_applyₓ'. -/
theorem restrictScalars_apply (fₗ : M →ₗ[S] M₂) (x) : restrictScalars R fₗ x = fₗ x :=
rfl
@@ -696,7 +696,7 @@ theorem toAddMonoidHom_injective : Function.Injective (toAddMonoidHom : (M →
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} R S R M₃ _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} R S _inst_1 _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring LinearMap.ext_ringₓ'. -/
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
@[ext]
@@ -708,7 +708,7 @@ theorem ext_ring {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_10 : Module.{u1, u2} R M _inst_1 _inst_3] {σ : RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} {f : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10} {g : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10}, Iff (Eq.{max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) f g) (Eq.{succ u2} M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) (fun (_x : LinearMap.{u1, u1, u1, u2} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10) => R -> M) (LinearMap.hasCoeToFun.{u1, u1, u1, u2} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_3 (Semiring.toModule.{u1} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_10 : Module.{u2, u1} R M _inst_1 _inst_3] {σ : RingHom.{u2, u2} R R (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R _inst_1)} {f : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10} {g : LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10}, Iff (Eq.{max (succ u2) (succ u1)} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) f g) (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) f (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u2, u2, u2, u1} R R _inst_1 _inst_1 σ R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u2, u1} R R R M _inst_1 _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) _inst_3 (Semiring.toModule.{u2} R _inst_1) _inst_10 σ) g (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_iff LinearMap.ext_ring_iffₓ'. -/
theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1 = g 1 :=
⟨fun h => h ▸ rfl, ext_ring⟩
@@ -718,7 +718,7 @@ theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M₃ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u3} M₃] [_inst_12 : Module.{u2, u3} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} (MulOpposite.{u1} R) S (MulOpposite.nonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12} {g : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12}, (Eq.{succ u3} M₃ (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) (fun (_x : LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) => R -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u1, u3} (MulOpposite.{u1} R) S R M₃ (MulOpposite.semiring.{u1} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))))) -> (Eq.{max (succ u1) (succ u3)} (LinearMap.{u1, u2, u1, u3} (MulOpposite.{u1} R) S (MulOpposite.semiring.{u1} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u1} R _inst_1) _inst_12) f g)
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.instNonAssocSemiringMulOpposite.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
+ forall {R : Type.{u3}} {S : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_12 : Module.{u2, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u2} (MulOpposite.{u3} R) S (MulOpposite.instNonAssocSemiringMulOpposite.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {f : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12} {g : LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12}, (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) f (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1)))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S R M₃ (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12 σ) g (OfNat.ofNat.{u3} R 1 (One.toOfNat1.{u3} R (Semiring.toOne.{u3} R _inst_1))))) -> (Eq.{max (succ u3) (succ u1)} (LinearMap.{u3, u2, u3, u1} (MulOpposite.{u3} R) S (MulOpposite.instSemiringMulOpposite.{u3} R _inst_1) _inst_2 σ R M₃ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) _inst_6 (Semiring.toOppositeModule.{u3} R _inst_1) _inst_12) f g)
Case conversion may be inaccurate. Consider using '#align linear_map.ext_ring_op LinearMap.ext_ring_opₓ'. -/
@[ext]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
@@ -775,7 +775,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} M₃ (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u5}} {M₂ : Type.{u1}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u5} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u4, u5} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (x : M₁), Eq.{succ u6} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) x) (FunLike.coe.{max (succ u5) (succ u6), succ u5, succ u6} (LinearMap.{u4, u3, u5, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u5, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u5, u1, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) x) (FunLike.coe.{max (succ u1) (succ u6), succ u1, succ u6} (LinearMap.{u2, u3, u1, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f (FunLike.coe.{max (succ u5) (succ u1), succ u5, succ u1} (LinearMap.{u4, u2, u5, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u5, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.comp_apply LinearMap.comp_applyₓ'. -/
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
@@ -789,7 +789,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u4) (succ u6)} ((fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (fun (_x : LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) => M₁ -> M₃) (LinearMap.hasCoeToFun.{u1, u3, u4, u6} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u4, succ u5, succ u6} M₁ M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u6}} {M₂ : Type.{u1}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u1} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u1} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] (f : LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (g : LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂), Eq.{max (succ u6) (succ u5)} (forall (a : M₁), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) a) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₃ M₁ M₃ _inst_3 _inst_5 _inst_7 _inst_9 module_M₁ module_M₃ σ₁₃) (LinearMap.comp.{u4, u2, u3, u6, u1, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g)) (Function.comp.{succ u6, succ u1, succ u5} M₁ M₂ M₃ (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u2, u3, u1, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u2, u3, u1, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f) (FunLike.coe.{max (succ u6) (succ u1), succ u6, succ u1} (LinearMap.{u4, u2, u6, u1} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u2, u6, u1} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_comp LinearMap.coe_compₓ'. -/
@[simp, norm_cast]
theorem coe_comp : (f.comp g : M₁ → M₃) = f ∘ g :=
@@ -828,7 +828,7 @@ include σ₁₃
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u4, succ u5} M₁ M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) (fun (_x : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) => M₁ -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {R₃ : Type.{u1}} {M₁ : Type.{u6}} {M₂ : Type.{u5}} {M₃ : Type.{u2}} [_inst_3 : Semiring.{u4} R₁] [_inst_4 : Semiring.{u3} R₂] [_inst_5 : Semiring.{u1} R₃] [_inst_7 : AddCommMonoid.{u6} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u2} M₃] {module_M₁ : Module.{u4, u6} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u3, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u1, u2} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4)} {σ₂₃ : RingHom.{u3, u1} R₂ R₃ (Semiring.toNonAssocSemiring.{u3} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} {σ₁₃ : RingHom.{u4, u1} R₁ R₃ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u1} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u4, u3, u1} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {f' : LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃}, (Function.Surjective.{succ u6, succ u5} M₁ M₂ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) M₁ (fun (_x : M₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₁) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₁ R₂ M₁ M₂ _inst_3 _inst_4 _inst_7 _inst_8 module_M₁ module_M₂ σ₁₂) g)) -> (Iff (Eq.{max (succ u6) (succ u2)} (LinearMap.{u4, u1, u6, u2} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u4, u3, u1, u6, u5, u2} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f' g)) (Eq.{max (succ u5) (succ u2)} (LinearMap.{u3, u1, u5, u2} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) f f'))
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_right LinearMap.cancel_rightₓ'. -/
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h => ext <| hg.forall.2 (ext_iff.1 h), fun h => h ▸ rfl⟩
@@ -838,7 +838,7 @@ theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f =
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {R₃ : Type.{u3}} {M₁ : Type.{u4}} {M₂ : Type.{u5}} {M₃ : Type.{u6}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u2} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u4} M₁] [_inst_8 : AddCommMonoid.{u5} M₂] [_inst_9 : AddCommMonoid.{u6} M₃] {module_M₁ : Module.{u1, u4} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u2, u5} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u6} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4)} {σ₂₃ : RingHom.{u2, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u2} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u2, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u5, succ u6} M₂ M₃ (coeFn.{max (succ u5) (succ u6), max (succ u5) (succ u6)} (LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) (fun (_x : LinearMap.{u2, u3, u5, u6} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) => M₂ -> M₃) (LinearMap.hasCoeToFun.{u2, u3, u5, u6} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u4) (succ u6)} (LinearMap.{u1, u3, u4, u6} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u2, u3, u4, u5, u6} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
but is expected to have type
- forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
+ forall {R₁ : Type.{u1}} {R₂ : Type.{u4}} {R₃ : Type.{u3}} {M₁ : Type.{u2}} {M₂ : Type.{u6}} {M₃ : Type.{u5}} [_inst_3 : Semiring.{u1} R₁] [_inst_4 : Semiring.{u4} R₂] [_inst_5 : Semiring.{u3} R₃] [_inst_7 : AddCommMonoid.{u2} M₁] [_inst_8 : AddCommMonoid.{u6} M₂] [_inst_9 : AddCommMonoid.{u5} M₃] {module_M₁ : Module.{u1, u2} R₁ M₁ _inst_3 _inst_7} {module_M₂ : Module.{u4, u6} R₂ M₂ _inst_4 _inst_8} {module_M₃ : Module.{u3, u5} R₃ M₃ _inst_5 _inst_9} {σ₁₂ : RingHom.{u1, u4} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4)} {σ₂₃ : RingHom.{u4, u3} R₂ R₃ (Semiring.toNonAssocSemiring.{u4} R₂ _inst_4) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} {σ₁₃ : RingHom.{u1, u3} R₁ R₃ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_3) (Semiring.toNonAssocSemiring.{u3} R₃ _inst_5)} [_inst_10 : RingHomCompTriple.{u1, u4, u3} R₁ R₂ R₃ _inst_3 _inst_4 _inst_5 σ₁₂ σ₂₃ σ₁₃] {f : LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃} {g : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂} {g' : LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂}, (Function.Injective.{succ u6, succ u5} M₂ M₃ (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} (LinearMap.{u4, u3, u6, u5} R₂ R₃ _inst_4 _inst_5 σ₂₃ M₂ M₃ _inst_8 _inst_9 module_M₂ module_M₃) M₂ (fun (_x : M₂) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M₂) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u6, u5} R₂ R₃ M₂ M₃ _inst_4 _inst_5 _inst_8 _inst_9 module_M₂ module_M₃ σ₂₃) f)) -> (Iff (Eq.{max (succ u2) (succ u5)} (LinearMap.{u1, u3, u2, u5} R₁ R₃ _inst_3 _inst_5 σ₁₃ M₁ M₃ _inst_7 _inst_9 module_M₁ module_M₃) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g) (LinearMap.comp.{u1, u4, u3, u2, u6, u5} R₁ R₂ R₃ M₁ M₂ M₃ _inst_3 _inst_4 _inst_5 _inst_7 _inst_8 _inst_9 module_M₁ module_M₂ module_M₃ σ₁₂ σ₂₃ σ₁₃ _inst_10 f g')) (Eq.{max (succ u2) (succ u6)} (LinearMap.{u1, u4, u2, u6} R₁ R₂ _inst_3 _inst_4 σ₁₂ M₁ M₂ _inst_7 _inst_8 module_M₁ module_M₂) g g'))
Case conversion may be inaccurate. Consider using '#align linear_map.cancel_left LinearMap.cancel_leftₓ'. -/
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h => ext fun x => hf <| by rw [← comp_apply, h, comp_apply], fun h => h ▸ rfl⟩
@@ -854,7 +854,7 @@ variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMon
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
but is expected to have type
- forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
+ forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_7 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_8 : Module.{u2, u4} S M₂ _inst_2 _inst_5] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_9 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) (g : M₂ -> M), (Function.LeftInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (Function.RightInverse.{succ u3, succ u4} M M₂ g (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ _inst_3 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 _inst_3 _inst_5 _inst_7 _inst_8 σ) f)) -> (LinearMap.{u2, u1, u4, u3} S R _inst_2 _inst_1 σ' M₂ M _inst_5 _inst_3 _inst_8 _inst_7)
Case conversion may be inaccurate. Consider using '#align linear_map.inverse LinearMap.inverseₓ'. -/
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
@@ -883,7 +883,7 @@ variable (f : M →ₛₗ[σ] M₂)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (SubNegMonoid.toHasNeg.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3))) x)) (Neg.neg.{u4} M₂ (SubNegMonoid.toHasNeg.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (Neg.neg.{u3} M (NegZeroClass.toNeg.{u3} M (SubNegZeroMonoid.toNegZeroClass.{u3} M (SubtractionMonoid.toSubNegZeroMonoid.{u3} M (SubtractionCommMonoid.toSubtractionMonoid.{u3} M (AddCommGroup.toDivisionAddCommMonoid.{u3} M _inst_3))))) x)) (Neg.neg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (NegZeroClass.toNeg.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubNegZeroMonoid.toNegZeroClass.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_4))))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_neg LinearMap.map_negₓ'. -/
protected theorem map_neg (x : M) : f (-x) = -f x :=
map_neg f x
@@ -893,7 +893,7 @@ protected theorem map_neg (x : M) : f (-x) = -f x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u1, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u2, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toHasSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} M₂ M₂ M₂ (instHSub.{u4} M₂ (SubNegMonoid.toHasSub.{u4} M₂ (AddGroup.toSubNegMonoid.{u4} M₂ (AddCommGroup.toAddGroup.{u4} M₂ _inst_4)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
but is expected to have type
- forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
+ forall {R : Type.{u2}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommGroup.{u3} M] [_inst_4 : AddCommGroup.{u4} M₂] {module_M : Module.{u2, u3} R M _inst_1 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3)} {module_M₂ : Module.{u1, u4} S M₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4)} {σ : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) (x : M) (y : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f (HSub.hSub.{u3, u3, u3} M M M (instHSub.{u3} M (SubNegMonoid.toSub.{u3} M (AddGroup.toSubNegMonoid.{u3} M (AddCommGroup.toAddGroup.{u3} M _inst_3)))) x y)) (HSub.hSub.{u4, u4, u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) y) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SubNegMonoid.toSub.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddGroup.toSubNegMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommGroup.toAddGroup.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_4)))) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R S _inst_1 _inst_2 σ M M₂ (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R S M M₂ _inst_1 _inst_2 (AddCommGroup.toAddCommMonoid.{u3} M _inst_3) (AddCommGroup.toAddCommMonoid.{u4} M₂ _inst_4) module_M module_M₂ σ) f y))
Case conversion may be inaccurate. Consider using '#align linear_map.map_sub LinearMap.map_subₓ'. -/
protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
@@ -968,7 +968,7 @@ theorem [anonymous] (f : M →+[R] M₂) : f.toLinearMap = ↑f :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u3)} ((fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u3)}) (b : Sort.{max (succ u2) (succ u3)}) [self : HasLiftT.{max (succ u2) (succ u3), max (succ u2) (succ u3)} a b] => self.0) (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (HasLiftT.mk.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (CoeTCₓ.coe.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (coeBase.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (DistribMulActionHom.LinearMap.hasCoe.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5)))) f)) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) (fun (_x : DistribMulActionHom.{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) => M -> M₂) ([anonymous].{u1, u2, u3} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u1, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u3} M₂ _inst_3) (Module.toDistribMulAction.{u1, u3} R M₂ _inst_1 _inst_3 _inst_5)) f)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] (f : DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (DistribMulActionHom.toLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : M) => M₂) _x) (SMulHomClass.toFunLike.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribSMul.toSMulZeroClass.{u3, u2} R M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (DistribMulAction.toDistribSMul.{u3, u2} R M (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} R M₂ (AddMonoid.toZero.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribSMul.toSMulZeroClass.{u3, u1} R M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3)) (DistribMulAction.toDistribSMul.{u3, u1} R M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u3, u2, u1} (DistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)) R M M₂ (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5) (DistribMulActionHom.instDistribMulActionHomClassDistribMulActionHom.{u3, u2, u1} R (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) M (AddCommMonoid.toAddMonoid.{u2} M _inst_2) (Module.toDistribMulAction.{u3, u2} R M _inst_1 _inst_2 _inst_4) M₂ (AddCommMonoid.toAddMonoid.{u1} M₂ _inst_3) (Module.toDistribMulAction.{u3, u1} R M₂ _inst_1 _inst_3 _inst_5)))) f)
Case conversion may be inaccurate. Consider using '#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMapₓ'. -/
@[simp, norm_cast]
theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
@@ -1013,7 +1013,7 @@ def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} {M₂ : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u3} M₂] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u1, u3} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u3} M₂ (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (IsLinearMap.mk'.{u1, u2, u3} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
but is expected to have type
- forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
+ forall {R : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : AddCommMonoid.{u1} M₂] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_2] [_inst_5 : Module.{u3, u1} R M₂ _inst_1 _inst_3] {f : M -> M₂} (H : IsLinearMap.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) M M₂ _inst_2 _inst_3 _inst_4 _inst_5) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} R R M M₂ _inst_1 _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (IsLinearMap.mk'.{u3, u2, u1} R M M₂ _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 f H) x) (f x)
Case conversion may be inaccurate. Consider using '#align is_linear_map.mk'_apply IsLinearMap.mk'_applyₓ'. -/
@[simp]
theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f x :=
@@ -1171,7 +1171,7 @@ theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : AddCommGroup.{u2} M₂] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) (fun (_x : LinearMap.{0, 0, u1, u2} Int Int Int.semiring Int.semiring (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2)) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Int Int M M₂ Int.semiring Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_2) (AddCommGroup.intModule.{u1} M _inst_1) (AddCommGroup.intModule.{u2} M₂ _inst_2) (RingHom.id.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.semiring))) (AddMonoidHom.toIntLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_2))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt)))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : AddCommGroup.{u1} M₂] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Int Int Int.instSemiringInt Int.instSemiringInt (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2)) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Int Int M M₂ Int.instSemiringInt Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_2) (AddCommGroup.intModule.{u2} M _inst_1) (AddCommGroup.intModule.{u1} M₂ _inst_2) (RingHom.id.{0} Int (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt)))) (AddMonoidHom.toIntLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_2))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_int_linear_map AddMonoidHom.coe_toIntLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+ M₂) :
@@ -1205,7 +1205,7 @@ theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [A
lean 3 declaration is
forall {M : Type.{u1}} {M₂ : Type.{u2}} [_inst_1 : AddCommGroup.{u1} M] [_inst_2 : Module.{0, u1} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] [_inst_3 : AddCommGroup.{u2} M₂] [_inst_4 : Module.{0, u2} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3)] (f : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))), Eq.{max (succ u1) (succ u2)} (M -> M₂) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) (fun (_x : LinearMap.{0, 0, u1, u2} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring)) M M₂ (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4) => M -> M₂) (LinearMap.hasCoeToFun.{0, 0, u1, u2} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.toAddCommMonoid.{u2} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (Semiring.toNonAssocSemiring.{0} Rat Rat.semiring))) (AddMonoidHom.toRatLinearMap.{u1, u2} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (coeFn.{max (succ u2) (succ u1), max (succ u1) (succ u2)} (AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) (fun (_x : AddMonoidHom.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) => M -> M₂) (AddMonoidHom.hasCoeToFun.{u1, u2} M M₂ (AddMonoid.toAddZeroClass.{u1} M (SubNegMonoid.toAddMonoid.{u1} M (AddGroup.toSubNegMonoid.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (AddMonoid.toAddZeroClass.{u2} M₂ (SubNegMonoid.toAddMonoid.{u2} M₂ (AddGroup.toSubNegMonoid.{u2} M₂ (AddCommGroup.toAddGroup.{u2} M₂ _inst_3))))) f)
but is expected to have type
- forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat))))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat)))))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
+ forall {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : AddCommGroup.{u2} M] [_inst_2 : Module.{0, u2} Rat M Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] [_inst_3 : AddCommGroup.{u1} M₂] [_inst_4 : Module.{0, u1} Rat M₂ Rat.semiring (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3)] (f : AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{0, 0, u2, u1} Rat Rat Rat.semiring Rat.semiring (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat))))) M M₂ (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{0, 0, u2, u1} Rat Rat M M₂ Rat.semiring Rat.semiring (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (AddCommGroup.toAddCommMonoid.{u1} M₂ _inst_3) _inst_2 _inst_4 (RingHom.id.{0} Rat (NonAssocRing.toNonAssocSemiring.{0} Rat (Ring.toNonAssocRing.{0} Rat (StrictOrderedRing.toRing.{0} Rat (LinearOrderedRing.toStrictOrderedRing.{0} Rat Rat.instLinearOrderedRingRat)))))) (AddMonoidHom.toRatLinearMap.{u2, u1} M M₂ _inst_1 _inst_2 _inst_3 _inst_4 f)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : M) => M₂) _x) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1))))) (AddZeroClass.toAdd.{u1} M₂ (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) (AddMonoidHomClass.toAddHomClass.{max u2 u1, u2, u1} (AddMonoidHom.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))) M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3)))) (AddMonoidHom.addMonoidHomClass.{u2, u1} M M₂ (AddMonoid.toAddZeroClass.{u2} M (SubNegMonoid.toAddMonoid.{u2} M (AddGroup.toSubNegMonoid.{u2} M (AddCommGroup.toAddGroup.{u2} M _inst_1)))) (AddMonoid.toAddZeroClass.{u1} M₂ (SubNegMonoid.toAddMonoid.{u1} M₂ (AddGroup.toSubNegMonoid.{u1} M₂ (AddCommGroup.toAddGroup.{u1} M₂ _inst_3))))))) f)
Case conversion may be inaccurate. Consider using '#align add_monoid_hom.coe_to_rat_linear_map AddMonoidHom.coe_toRatLinearMapₓ'. -/
@[simp]
theorem AddMonoidHom.coe_toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
@@ -1241,7 +1241,7 @@ instance : SMul S (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u5} M₂ (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f) x) (SMul.smul.{u3, u5} S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
+ forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f) x) (HSMul.hSMul.{u1, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5) _inst_12)))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.smul_apply LinearMap.smul_applyₓ'. -/
@[simp]
theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f) x = a • f x :=
@@ -1252,7 +1252,7 @@ theorem smul_apply (a : S) (f : M →ₛₗ[σ₁₂] M₂) (x : M) : (a • f)
lean 3 declaration is
forall {R : Type.{u1}} {R₂ : Type.{u2}} {S : Type.{u3}} {M : Type.{u4}} {M₂ : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u4} M] [_inst_5 : AddCommMonoid.{u5} M₂] [_inst_7 : Module.{u1, u4} R M _inst_1 _inst_4] [_inst_8 : Module.{u2, u5} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R R₂ (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} [_inst_11 : Monoid.{u3} S] [_inst_12 : DistribMulAction.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u2, u3, u5} R₂ S M₂ (SMulZeroClass.toHasSmul.{u2, u5} R₂ M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (SMulWithZero.toSmulZeroClass.{u2, u5} R₂ M₂ (MulZeroClass.toHasZero.{u2} R₂ (MulZeroOneClass.toMulZeroClass.{u2} R₂ (MonoidWithZero.toMulZeroOneClass.{u2} R₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2)))) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u5} R₂ M₂ (Semiring.toMonoidWithZero.{u2} R₂ _inst_2) (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (Module.toMulActionWithZero.{u2, u5} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{succ (max u4 u5)} (M -> M₂) (coeFn.{succ (max u4 u5), succ (max u4 u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (SMul.smul.{u3, max u4 u5} S (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.hasSmul.{u1, u2, u3, u4, u5} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13) a f)) (SMul.smul.{u3, max u4 u5} S (M -> M₂) (Function.hasSMul.{u4, u3, u5} M S M₂ (SMulZeroClass.toHasSmul.{u3, u5} S M₂ (AddZeroClass.toHasZero.{u5} M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5))) (DistribSMul.toSmulZeroClass.{u3, u5} S M₂ (AddMonoid.toAddZeroClass.{u5} M₂ (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u3, u5} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u5} M₂ _inst_5) _inst_12)))) a (coeFn.{max (succ u4) (succ u5), max (succ u4) (succ u5)} (LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (fun (_x : LinearMap.{u1, u2, u4, u5} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u4, u5} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
but is expected to have type
- forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
+ forall {R : Type.{u5}} {R₂ : Type.{u4}} {S : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u2}} [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u4} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u2} M₂] [_inst_7 : Module.{u5, u3} R M _inst_1 _inst_4] [_inst_8 : Module.{u4, u2} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u5, u4} R R₂ (Semiring.toNonAssocSemiring.{u5} R _inst_1) (Semiring.toNonAssocSemiring.{u4} R₂ _inst_2)} [_inst_11 : Monoid.{u1} S] [_inst_12 : DistribMulAction.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)] [_inst_13 : SMulCommClass.{u4, u1, u2} R₂ S M₂ (SMulZeroClass.toSMul.{u4, u2} R₂ M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (SMulWithZero.toSMulZeroClass.{u4, u2} R₂ M₂ (MonoidWithZero.toZero.{u4} R₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2)) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (MulActionWithZero.toSMulWithZero.{u4, u2} R₂ M₂ (Semiring.toMonoidWithZero.{u4} R₂ _inst_2) (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (Module.toMulActionWithZero.{u4, u2} R₂ M₂ _inst_2 _inst_5 _inst_8)))) (SMulZeroClass.toSMul.{u1, u2} S M₂ (AddMonoid.toZero.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S M₂ (AddMonoid.toAddZeroClass.{u2} M₂ (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S M₂ _inst_11 (AddCommMonoid.toAddMonoid.{u2} M₂ _inst_5) _inst_12)))] (a : S) (f : LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8), Eq.{max (succ u3) (succ u2)} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (instHSMul.{u1, max u3 u2} S (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) (LinearMap.instSMulLinearMap.{u5, u4, u1, u3, u2} R R₂ S M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂ _inst_11 _inst_12 _inst_13)) a f)) (HSMul.hSMul.{u1, max u3 u2, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) ᾰ) (instHSMul.{u1, max u3 u2} S (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (Pi.instSMul.{u3, u2, u1} M S (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) a) (fun (i : M) => SMulZeroClass.toSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_5)) (DistribSMul.toSMulZeroClass.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddMonoid.toAddZeroClass.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_5)) (DistribMulAction.toDistribSMul.{u1, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_11 (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) i) _inst_5) _inst_12))))) a (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (LinearMap.{u5, u4, u3, u2} R R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_7 _inst_8) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u5, u4, u3, u2} R R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_7 _inst_8 σ₁₂) f))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_smul LinearMap.coe_smulₓ'. -/
theorem coe_smul (a : S) (f : M →ₛₗ[σ₁₂] M₂) : ⇑(a • f) = a • f :=
rfl
@@ -1298,7 +1298,7 @@ instance : Zero (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (OfNat.mk.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.zero.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasZero.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)))) x) (OfNat.ofNat.{u4} M₂ 0 (OfNat.mk.{u4} M₂ 0 (Zero.zero.{u4} M₂ (AddZeroClass.toHasZero.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5))))))
but is expected to have type
- forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5))))
+ forall {R₁ : Type.{u2}} {R₂ : Type.{u1}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u2} R₁] [_inst_2 : Semiring.{u1} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u2, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u1, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u2, u1} R₁ R₂ (Semiring.toNonAssocSemiring.{u2} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u1} R₂ _inst_2)} (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u3) (succ u4), succ u3, succ u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (OfNat.ofNat.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) 0 (Zero.toOfNat0.{max u3 u4} (LinearMap.{u2, u1, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instZeroLinearMap.{u2, u1, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂))) x) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5))))
Case conversion may be inaccurate. Consider using '#align linear_map.zero_apply LinearMap.zero_applyₓ'. -/
@[simp]
theorem zero_apply (x : M) : (0 : M →ₛₗ[σ₁₂] M₂) x = 0 :=
@@ -1352,7 +1352,7 @@ instance : Add (M →ₛₗ[σ₁₂] M₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {M₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_5 : AddCommMonoid.{u4} M₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u2, u4} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u4} M₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.hasAdd.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u4, u4, u4} M₂ M₂ M₂ (instHAdd.{u4} M₂ (AddZeroClass.toHasAdd.{u4} M₂ (AddMonoid.toAddZeroClass.{u4} M₂ (AddCommMonoid.toAddMonoid.{u4} M₂ _inst_5)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) => M -> M₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {M₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_5 : AddCommMonoid.{u1} M₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_11 : Module.{u3, u1} R₂ M₂ _inst_2 _inst_5] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (instHAdd.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) (LinearMap.instAddLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂)) f g) x) (HAdd.hAdd.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (instHAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddZeroClass.toAdd.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddMonoid.toAddZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) (AddCommMonoid.toAddMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) x) _inst_5)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M M₂ _inst_4 _inst_5 _inst_10 _inst_11) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M M₂ _inst_1 _inst_2 _inst_4 _inst_5 _inst_10 _inst_11 σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.add_apply LinearMap.add_applyₓ'. -/
@[simp]
theorem add_apply (f g : M →ₛₗ[σ₁₂] M₂) (x : M) : (f + g) x = f x + g x :=
@@ -1396,7 +1396,7 @@ instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasNeg.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u4} N₂ (SubNegMonoid.toHasNeg.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (Neg.neg.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instNegLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂) f) x) (Neg.neg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (NegZeroClass.toNeg.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.neg_apply LinearMap.neg_applyₓ'. -/
@[simp]
theorem neg_apply (f : M →ₛₗ[σ₁₂] N₂) (x : M) : (-f) x = -f x :=
@@ -1440,7 +1440,7 @@ instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
lean 3 declaration is
forall {R₁ : Type.{u1}} {R₂ : Type.{u2}} {M : Type.{u3}} {N₂ : Type.{u4}} [_inst_1 : Semiring.{u1} R₁] [_inst_2 : Semiring.{u2} R₂] [_inst_4 : AddCommMonoid.{u3} M] [_inst_8 : AddCommGroup.{u4} N₂] [_inst_10 : Module.{u1, u3} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u2, u4} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8)] {σ₁₂ : RingHom.{u1, u2} R₁ R₂ (Semiring.toNonAssocSemiring.{u1} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u2} R₂ _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u4} N₂ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u3 u4, max u3 u4, max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u3 u4} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.hasSub.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u4, u4, u4} N₂ N₂ N₂ (instHSub.{u4} N₂ (SubNegMonoid.toHasSub.{u4} N₂ (AddGroup.toSubNegMonoid.{u4} N₂ (AddCommGroup.toAddGroup.{u4} N₂ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) (fun (_x : LinearMap.{u1, u2, u3, u4} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14) => M -> N₂) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u4} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
but is expected to have type
- forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
+ forall {R₁ : Type.{u4}} {R₂ : Type.{u3}} {M : Type.{u2}} {N₂ : Type.{u1}} [_inst_1 : Semiring.{u4} R₁] [_inst_2 : Semiring.{u3} R₂] [_inst_4 : AddCommMonoid.{u2} M] [_inst_8 : AddCommGroup.{u1} N₂] [_inst_10 : Module.{u4, u2} R₁ M _inst_1 _inst_4] [_inst_14 : Module.{u3, u1} R₂ N₂ _inst_2 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8)] {σ₁₂ : RingHom.{u4, u3} R₁ R₂ (Semiring.toNonAssocSemiring.{u4} R₁ _inst_1) (Semiring.toNonAssocSemiring.{u3} R₂ _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (g : LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (instHSub.{max u2 u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) (LinearMap.instSubLinearMapToAddCommMonoid.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 _inst_8 _inst_10 _inst_14 σ₁₂)) f g) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (instHSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) (AddCommGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) x) _inst_8)))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R₁ R₂ _inst_1 _inst_2 σ₁₂ M N₂ _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => N₂) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R₁ R₂ M N₂ _inst_1 _inst_2 _inst_4 (AddCommGroup.toAddCommMonoid.{u1} N₂ _inst_8) _inst_10 _inst_14 σ₁₂) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.sub_apply LinearMap.sub_applyₓ'. -/
@[simp]
theorem sub_apply (f g : M →ₛₗ[σ₁₂] N₂) (x : M) : (f - g) x = f x - g x :=
@@ -1588,7 +1588,7 @@ theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) x) x
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4))) x) x
Case conversion may be inaccurate. Consider using '#align linear_map.one_apply LinearMap.one_applyₓ'. -/
@[simp]
theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
@@ -1599,7 +1599,7 @@ theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g) x) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g x))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (x : M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g x))
Case conversion may be inaccurate. Consider using '#align linear_map.mul_apply LinearMap.mul_applyₓ'. -/
@[simp]
theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
@@ -1610,7 +1610,7 @@ theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (OfNat.mk.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.one.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasOne.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (id.{succ u2} M)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2], Eq.{succ u2} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) ᾰ) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) 1 (One.toOfNat1.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.instOneEnd.{u1, u2} R M _inst_1 _inst_2 _inst_4)))) (id.{succ u2} M)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_one LinearMap.coe_oneₓ'. -/
theorem coe_one : ⇑(1 : Module.End R M) = id :=
rfl
@@ -1620,7 +1620,7 @@ theorem coe_one : ⇑(1 : Module.End R M) = id :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4), Eq.{succ u2} (M -> M) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (HMul.hMul.{u2, u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (instHMul.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (LinearMap.module.End.hasMul.{u1, u2} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u2, succ u2, succ u2} M M M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) g))
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (g : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4), Eq.{succ u1} (forall (ᾰ : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (HMul.hMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (instHMul.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (LinearMap.instMulEnd.{u2, u1} R M _inst_1 _inst_2 _inst_4)) f g)) (Function.comp.{succ u1, succ u1, succ u1} M M M (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) g))
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mul LinearMap.coe_mulₓ'. -/
theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
@@ -1659,7 +1659,7 @@ instance Module.End.semiring : Semiring (Module.End R M) :=
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} M (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Nat.castCoe.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)))))))) n) m) (SMul.smul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) n m)
but is expected to have type
- forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
+ forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (n : Nat) (m : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Nat.cast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) n) m) (HSMul.hSMul.{0, u2, u2} Nat M M (instHSMul.{0, u2} Nat M (AddMonoid.SMul.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) n m)
Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_apply Module.End.natCast_applyₓ'. -/
/-- See also `module.End.nat_cast_def`. -/
@[simp]
@@ -1681,7 +1681,7 @@ instance Module.End.ring : Ring (Module.End R N₁) :=
lean 3 declaration is
forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} N₁ (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) N₁ N₁ (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5) => N₁ -> N₁) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (NonAssocRing.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toNonAssocRing.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5))))))) z) m) (SMul.smul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3))) z m)
but is expected to have type
- forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
+ forall {R : Type.{u1}} {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommGroup.{u2} N₁] [_inst_5 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3)] (z : Int) (m : N₁), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : N₁) => N₁) m) (FunLike.coe.{succ u2, succ u2, succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) N₁ (fun (_x : N₁) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : N₁) => N₁) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, u2} R R N₁ N₁ _inst_1 _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_3) _inst_5) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_3 _inst_5)) z) m) (HSMul.hSMul.{0, u2, u2} Int N₁ N₁ (instHSMul.{0, u2} Int N₁ (SubNegMonoid.SMulInt.{u2} N₁ (AddGroup.toSubNegMonoid.{u2} N₁ (AddCommGroup.toAddGroup.{u2} N₁ _inst_3)))) z m)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_apply Module.End.intCast_applyₓ'. -/
/-- See also `module.End.int_cast_def`. -/
@[simp]
@@ -1750,7 +1750,7 @@ instance applyModule : Module (Module.End R M) M
lean 3 declaration is
forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_2] (f : Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u2} M (SMul.smul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toHasSmul.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (MulZeroClass.toHasZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MulZeroOneClass.toMulZeroClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (MonoidWithZero.toMulZeroOneClass.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u2, u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u1, u2} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u1, u2} R M _inst_1 _inst_2 _inst_4))))) f a) (coeFn.{succ u2, succ u2} (Module.End.{u1, u2} R M _inst_1 _inst_2 _inst_4) (fun (_x : LinearMap.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) M M _inst_2 _inst_2 _inst_4 _inst_4) => M -> M) (LinearMap.hasCoeToFun.{u1, u1, u2, u2} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) f a)
but is expected to have type
- forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
+ forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_2] (f : Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (a : M), Eq.{succ u1} M (HSMul.hSMul.{u1, u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M M (instHSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (SMulZeroClass.toSMul.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (LinearMap.instZeroLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Semiring.toMonoidWithZero.{u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_2)) (Module.toMulActionWithZero.{u1, u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (Module.End.semiring.{u2, u1} R M _inst_1 _inst_2 _inst_4) _inst_2 (LinearMap.applyModule.{u2, u1} R M _inst_1 _inst_2 _inst_4)))))) f a) (FunLike.coe.{succ u1, succ u1, succ u1} (Module.End.{u2, u1} R M _inst_1 _inst_2 _inst_4) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : M) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R M M _inst_1 _inst_1 _inst_2 _inst_2 _inst_4 _inst_4 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) f a)
Case conversion may be inaccurate. Consider using '#align linear_map.smul_def LinearMap.smul_defₓ'. -/
@[simp]
protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
@@ -1890,7 +1890,7 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
lean 3 declaration is
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))))) n) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (fun (_x : RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) => Nat -> (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.hasCoeToFun.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_def Module.End.natCast_defₓ'. -/
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
(↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
@@ -1901,7 +1901,7 @@ theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
lean 3 declaration is
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocRing.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toNonAssocRing.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))))))) z) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (fun (_x : RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) => Int -> (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.hasCoeToFun.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.semiring (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_def Module.End.intCast_defₓ'. -/
theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
(↑z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -195,7 +195,7 @@ include i
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} {F : Type.{u5}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : F) [i : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f x)) (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i))) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} {_inst_1 : Semiring.{u4} R} {_inst_2 : Semiring.{u5} S} {_inst_3 : AddCommMonoid.{u1} M} {_inst_6 : AddCommMonoid.{u3} M₃} {_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3} {_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6} {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u4}} {S : Type.{u5}} {M : Type.{u1}} {M₃ : Type.{u3}} {F : Type.{u2}} {_inst_1 : Semiring.{u4} R} {_inst_2 : Semiring.{u5} S} {_inst_3 : AddCommMonoid.{u1} M} {_inst_6 : AddCommMonoid.{u3} M₃} {_inst_10 : Module.{u4, u1} R M _inst_1 _inst_3} {_inst_12 : Module.{u5, u3} S M₃ _inst_2 _inst_6} {σ : RingHom.{u4, u5} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u5} S _inst_2)} (f : F) [i : SemilinearMapClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {σ' : RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)} [_inst_13 : RingHomInvPair.{u4, u5} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (HSMul.hSMul.{u5, u3, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (instHSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (SMulZeroClass.toSMul.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (MonoidWithZero.toZero.{u5} S (Semiring.toMonoidWithZero.{u5} S _inst_2)) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (Semiring.toMonoidWithZero.{u5} S _inst_2) (AddMonoid.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u5, u3} S ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f x)) (FunLike.coe.{succ u2, succ u1, succ u3} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u2, u1, u3} F M M₃ (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddZeroClass.toAdd.{u3} M₃ (AddMonoid.toAddZeroClass.{u3} M₃ (AddCommMonoid.toAddMonoid.{u3} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u2, u4, u5, u1, u3} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 i)) f (HSMul.hSMul.{u4, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M M (instHSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (SMulZeroClass.toSMul.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (MonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (Semiring.toMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u4, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u4) (succ u5), succ u5, succ u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u5} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} S (Semiring.toNonAssocSemiring.{u5} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u5, u5, u4} (RingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1) (RingHom.instRingHomClassRingHom.{u5, u4} S R (Semiring.toNonAssocSemiring.{u5} S _inst_2) (Semiring.toNonAssocSemiring.{u4} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_invₓ'. -/
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -297,13 +297,11 @@ theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f
FunLike.ext' h
#align linear_map.copy_eq LinearMap.copy_eq
-#print LinearMap.Simps.apply /-
/-- See Note [custom simps projection]. -/
protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+* S) (M M₃ : Type _)
[AddCommMonoid M] [AddCommMonoid M₃] [Module R M] [Module S M₃] (f : M →ₛₗ[σ] M₃) : M → M₃ :=
f
#align linear_map.simps.apply LinearMap.Simps.apply
--/
initialize_simps_projections LinearMap (toFun → apply)
@@ -311,7 +309,7 @@ initialize_simps_projections LinearMap (toFun → apply)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : M -> M₃) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (f x) (f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (f x))), Eq.{max (succ u3) (succ u4)} ((fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁ h₂)) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) a) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) f y))), Eq.{max (succ u2) (succ u1)} (forall (a : M), (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) a) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) a) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 f h₁)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M (fun (a : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) a) (AddHomClass.toFunLike.{max u2 u1, u2, u1} (AddHom.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)))) M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHom.addHomClass.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))))) f)
Case conversion may be inaccurate. Consider using '#align linear_map.coe_mk LinearMap.coe_mkₓ'. -/
@[simp]
theorem coe_mk {σ : R →+* S} (f : M → M₃) (h₁ h₂) :
@@ -418,7 +416,7 @@ theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : M) (y : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HAdd.hAdd.{u3, u3, u3} M M M (instHAdd.{u3} M (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)))) x y)) (HAdd.hAdd.{u4, u4, u4} M₃ M₃ M₃ (instHAdd.{u4} M₃ (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f y))) (h₂ : forall (r : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) r x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ r) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))), Eq.{max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f) h₁ h₂) f
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
+ forall {R : Type.{u4}} {S : Type.{u3}} {M : Type.{u2}} {M₃ : Type.{u1}} [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] {σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)} (f : LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (h₁ : forall (x : R) (y : M), Eq.{succ u1} M₃ (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) (HSMul.hSMul.{u4, u2, u2} R M M (instHSMul.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10))))) x y)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ M₃ (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) M₃ _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ x) (AddHom.toFun.{u2, u1} M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) y))), Eq.{max (succ u2) (succ u1)} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (LinearMap.mk.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (AddHomClass.toAddHom.{u2, u1, max u2 u1} M M₃ (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{max u2 u1, u4, u3, u2, u1} (LinearMap.{u4, u3, u2, u1} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 (LinearMap.instSemilinearMapClassLinearMap.{u4, u3, u2, u1} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ)) f) h₁) f
Case conversion may be inaccurate. Consider using '#align linear_map.mk_coe LinearMap.mk_coeₓ'. -/
@[simp]
theorem mk_coe (f : M →ₛₗ[σ] M₃) (h₁ h₂) : (LinearMap.mk f h₁ h₂ : M →ₛₗ[σ] M₃) = f :=
@@ -451,7 +449,7 @@ protected theorem map_zero : f 0 = 0 :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} M₃ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) c x)) (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
+ forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u1, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)} (f : LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (c : R) (x : M), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u2, u2} R M M (instHSMul.{u3, u2} R M (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_10))))) c x)) (HSMul.hSMul.{u1, u4, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (SMulZeroClass.toSMul.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (MonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2) (AddMonoid.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u4} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u1, u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2) (RingHom.instRingHomClassRingHom.{u3, u1} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u1} S _inst_2))))) σ c) (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u3, u1, u2, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u1, u2, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗₓ'. -/
-- TODO: `simp` isn't picking up `map_smulₛₗ` for `linear_map`s without specifying `map_smulₛₗ f`
@[simp]
@@ -473,7 +471,7 @@ protected theorem map_smul (c : R) (x : M) : fₗ (c • x) = c • fₗ x :=
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} {M₃ : Type.{u4}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] {σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)} (f : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)} [_inst_13 : RingHomInvPair.{u1, u2} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u4} M₃ (SMul.smul.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12)))) c (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) (fun (_x : LinearMap.{u1, u2, u3, u4} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) => M -> M₃) (LinearMap.hasCoeToFun.{u1, u2, u3, u4} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (SMul.smul.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10)))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (fun (_x : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) => S -> R) (RingHom.hasCoeToFun.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) σ' c) x))
but is expected to have type
- forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
+ forall {R : Type.{u3}} {S : Type.{u4}} {M : Type.{u1}} {M₃ : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [_inst_3 : AddCommMonoid.{u1} M] [_inst_6 : AddCommMonoid.{u2} M₃] [_inst_10 : Module.{u3, u1} R M _inst_1 _inst_3] [_inst_12 : Module.{u4, u2} S M₃ _inst_2 _inst_6] {σ : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)} (f : LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) {σ' : RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)} [_inst_13 : RingHomInvPair.{u3, u4} R S _inst_1 _inst_2 σ σ'] (c : S) (x : M), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (HSMul.hSMul.{u4, u2, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (instHSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (SMulZeroClass.toSMul.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (SMulWithZero.toSMulZeroClass.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (MonoidWithZero.toZero.{u4} S (Semiring.toMonoidWithZero.{u4} S _inst_2)) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (MulActionWithZero.toSMulWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (Semiring.toMonoidWithZero.{u4} S _inst_2) (AddMonoid.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) (AddCommMonoid.toAddMonoid.{u2} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_6)) (Module.toMulActionWithZero.{u4, u2} S ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) x) _inst_2 _inst_6 _inst_12))))) c (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f x)) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (LinearMap.{u3, u4, u1, u2} R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12) M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : M) => M₃) _x) (LinearMap.instFunLikeLinearMap.{u3, u4, u1, u2} R S M M₃ _inst_1 _inst_2 _inst_3 _inst_6 _inst_10 _inst_12 σ) f (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M M (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1)) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) _inst_1) (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) c) M _inst_1 _inst_3 _inst_10))))) (FunLike.coe.{max (succ u3) (succ u4), succ u4, succ u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{max u3 u4, u4, u3} (RingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)) S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) (RingHom.instRingHomClassRingHom.{u4, u3} S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1))))) σ' c) x))
Case conversion may be inaccurate. Consider using '#align linear_map.map_smul_inv LinearMap.map_smul_invₓ'. -/
protected theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
@@ -505,7 +503,7 @@ variable (M M₃ σ) {F : Type _} (h : F)
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u3} M), Eq.{succ u4} (Set.{u4} M₃) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c s)) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) (Set.image.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
+ forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] (c : R) (s : Set.{u2} M), Eq.{succ u1} (Set.{u1} M₃) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c s)) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) (Set.image.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s))
Case conversion may be inaccurate. Consider using '#align image_smul_setₛₗ image_smul_setₛₗₓ'. -/
@[simp]
theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
@@ -521,7 +519,7 @@ theorem image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M
lean 3 declaration is
forall {R : Type.{u1}} {S : Type.{u2}} (M : Type.{u3}) (M₃ : Type.{u4}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_6 : AddCommMonoid.{u4} M₃] [_inst_10 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_12 : Module.{u2, u4} S M₃ _inst_2 _inst_6] (σ : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) c) -> (forall (s : Set.{u4} M₃), Eq.{succ u3} (Set.{u3} M) (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) (SMul.smul.{u2, u4} S (Set.{u4} M₃) (Set.smulSet.{u2, u4} S M₃ (SMulZeroClass.toHasSmul.{u2, u4} S M₃ (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SMulWithZero.toSmulZeroClass.{u2, u4} S M₃ (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (MulActionWithZero.toSMulWithZero.{u2, u4} S M₃ (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (Module.toMulActionWithZero.{u2, u4} S M₃ _inst_2 _inst_6 _inst_12))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (fun (_x : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) σ c) s)) (SMul.smul.{u1, u3} R (Set.{u3} M) (Set.smulSet.{u1, u3} R M (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_10))))) c (Set.preimage.{u3, u4} M M₃ (coeFn.{succ u5, max (succ u3) (succ u4)} F (fun (_x : F) => M -> M₃) (FunLike.hasCoeToFun.{succ u5, succ u3, succ u4} F M (fun (_x : M) => M₃) (AddHomClass.toFunLike.{u5, u3, u4} F M M₃ (AddZeroClass.toHasAdd.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (AddZeroClass.toHasAdd.{u4} M₃ (AddMonoid.toAddZeroClass.{u4} M₃ (AddCommMonoid.toAddMonoid.{u4} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u1, u2, u3, u4} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13))) h) s)))
but is expected to have type
- forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
+ forall {R : Type.{u4}} {S : Type.{u3}} (M : Type.{u2}) (M₃ : Type.{u1}) [_inst_1 : Semiring.{u4} R] [_inst_2 : Semiring.{u3} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_6 : AddCommMonoid.{u1} M₃] [_inst_10 : Module.{u4, u2} R M _inst_1 _inst_3] [_inst_12 : Module.{u3, u1} S M₃ _inst_2 _inst_6] (σ : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) {F : Type.{u5}} (h : F) [_inst_13 : SemilinearMapClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12] {c : R}, (IsUnit.{u4} R (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) c) -> (forall (s : Set.{u1} M₃), Eq.{succ u2} (Set.{u2} M) (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) (HSMul.hSMul.{u3, u1, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.{u1} M₃) (instHSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Set.{u1} M₃) (Set.smulSet.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (SMulZeroClass.toSMul.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (SMulWithZero.toSMulZeroClass.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2)) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (MulActionWithZero.toSMulWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) _inst_2) (AddMonoid.toZero.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6)) (Module.toMulActionWithZero.{u3, u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) c) M₃ _inst_2 _inst_6 _inst_12)))))) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonUnitalNonAssocSemiring.toMul.{u4} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} R (Semiring.toNonAssocSemiring.{u4} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (RingHom.instRingHomClassRingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2))))) σ c) s)) (HSMul.hSMul.{u4, u2, u2} R (Set.{u2} M) (Set.{u2} M) (instHSMul.{u4, u2} R (Set.{u2} M) (Set.smulSet.{u4, u2} R M (SMulZeroClass.toSMul.{u4, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u4, u2} R M (MonoidWithZero.toZero.{u4} R (Semiring.toMonoidWithZero.{u4} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} R M (Semiring.toMonoidWithZero.{u4} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u4, u2} R M _inst_1 _inst_3 _inst_10)))))) c (Set.preimage.{u2, u1} M M₃ (FunLike.coe.{succ u5, succ u2, succ u1} F M (fun (_x : M) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : M) => M₃) _x) (AddHomClass.toFunLike.{u5, u2, u1} F M M₃ (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddZeroClass.toAdd.{u1} M₃ (AddMonoid.toAddZeroClass.{u1} M₃ (AddCommMonoid.toAddMonoid.{u1} M₃ _inst_6))) (SemilinearMapClass.toAddHomClass.{u5, u4, u3, u2, u1} F R S _inst_1 _inst_2 σ M M₃ _inst_3 _inst_6 _inst_10 _inst_12 _inst_13)) h) s)))
Case conversion may be inaccurate. Consider using '#align preimage_smul_setₛₗ preimage_smul_setₛₗₓ'. -/
theorem preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c) (s : Set M₃) :
h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
@@ -1892,7 +1890,7 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
lean 3 declaration is
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (HasLiftT.mk.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (CoeTCₓ.coe.{1, succ u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddMonoidWithOne.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toAddCommMonoidWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))))) n) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (fun (_x : RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) => Nat -> (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.hasCoeToFun.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (n : Nat) [_inst_7 : AddCommMonoid.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 _inst_7], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Nat.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNatCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) n) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (fun (_x : Nat) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : Nat) => Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Nat (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Nat (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Nat (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Semiring.toNonAssocSemiring.{0} Nat Nat.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Nat N₁ _inst_1 _inst_7 _inst_8 Nat.semiring (AddCommMonoid.natModule.{u2} N₁ _inst_7) (AddMonoid.nat_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))) n)
Case conversion may be inaccurate. Consider using '#align module.End.nat_cast_def Module.End.natCast_defₓ'. -/
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
(↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
@@ -1903,7 +1901,7 @@ theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
lean 3 declaration is
forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) ((fun (a : Type) (b : Type.{u2}) [self : HasLiftT.{1, succ u2} a b] => self.0) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (HasLiftT.mk.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (CoeTCₓ.coe.{1, succ u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.castCoe.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (AddGroupWithOne.toHasIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocRing.toAddGroupWithOne.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toNonAssocRing.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8))))))) z) (coeFn.{succ u2, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (fun (_x : RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) => Int -> (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.hasCoeToFun.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.semiring) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.semiring (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
but is expected to have type
- forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2398 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
+ forall (R : Type.{u1}) {N₁ : Type.{u2}} [_inst_1 : Semiring.{u1} R] (z : Int) [_inst_7 : AddCommGroup.{u2} N₁] [_inst_8 : Module.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7)], Eq.{succ u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Int.cast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Ring.toIntCast.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.ring.{u1, u2} R N₁ _inst_1 _inst_7 _inst_8)) z) (FunLike.coe.{succ u2, 1, succ u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (fun (_x : Int) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : Int) => Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) _x) (MulHomClass.toFunLike.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonUnitalNonAssocSemiring.toMul.{0} Int (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt))) (NonUnitalNonAssocSemiring.toMul.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))) (NonUnitalRingHomClass.toMulHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{0} Int (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) (RingHomClass.toNonUnitalRingHomClass.{u2, 0, u2} (RingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)) (RingHom.instRingHomClassRingHom.{0, u2} Int (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Semiring.toNonAssocSemiring.{0} Int Int.instSemiringInt) (Semiring.toNonAssocSemiring.{u2} (Module.End.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8) (Module.End.semiring.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8)))))) (Module.toModuleEnd.{u1, 0, u2} R Int N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8 Int.instSemiringInt (AddCommGroup.intModule.{u2} N₁ _inst_7) (AddGroup.int_smulCommClass.{u1, u2} R N₁ (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommGroup.toAddGroup.{u2} N₁ _inst_7) (Module.toDistribMulAction.{u1, u2} R N₁ _inst_1 (AddCommGroup.toAddCommMonoid.{u2} N₁ _inst_7) _inst_8))) z)
Case conversion may be inaccurate. Consider using '#align module.End.int_cast_def Module.End.intCast_defₓ'. -/
theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
(↑z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Similar to #12486, which did this for Algebra.Algebra.Basic
.
Splits Algebra.Module.Defs
off Algebra.Module.Basic
. Most imports only need the Defs file, which has significantly smaller imports. The remaining Algebra.Module.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.Module.Basic.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen,
Frédéric Dupuis, Heather Macbeth
-/
+import Mathlib.Algebra.Module.Basic
import Mathlib.Algebra.Module.Pi
import Mathlib.Algebra.Ring.CompTypeclasses
import Mathlib.Algebra.Star.Basic
These don't involve submodules at all.
@@ -934,6 +934,15 @@ theorem default_def : (default : M →ₛₗ[σ₁₂] M₂) = 0 :=
rfl
#align linear_map.default_def LinearMap.default_def
+instance uniqueOfLeft [Subsingleton M] : Unique (M →ₛₗ[σ₁₂] M₂) :=
+ { inferInstanceAs (Inhabited (M →ₛₗ[σ₁₂] M₂)) with
+ uniq := fun f => ext fun x => by rw [Subsingleton.elim x 0, map_zero, map_zero] }
+#align linear_map.unique_of_left LinearMap.uniqueOfLeft
+
+instance uniqueOfRight [Subsingleton M₂] : Unique (M →ₛₗ[σ₁₂] M₂) :=
+ coe_injective.unique
+#align linear_map.unique_of_right LinearMap.uniqueOfRight
+
/-- The sum of two linear maps is linear. -/
instance : Add (M →ₛₗ[σ₁₂] M₂) :=
⟨fun f g ↦
@@ -1009,6 +1018,22 @@ instance addCommGroup : AddCommGroup (M →ₛₗ[σ₁₂] N₂) :=
DFunLike.coe_injective.addCommGroup _ rfl (fun _ _ ↦ rfl) (fun _ ↦ rfl) (fun _ _ ↦ rfl)
(fun _ _ ↦ rfl) fun _ _ ↦ rfl
+/-- Evaluation of a `σ₁₂`-linear map at a fixed `a`, as an `AddMonoidHom`. -/
+@[simps]
+def evalAddMonoidHom (a : M) : (M →ₛₗ[σ₁₂] M₂) →+ M₂ where
+ toFun f := f a
+ map_add' f g := LinearMap.add_apply f g a
+ map_zero' := rfl
+#align linear_map.eval_add_monoid_hom LinearMap.evalAddMonoidHom
+
+/-- `LinearMap.toAddMonoidHom` promoted to an `AddMonoidHom`. -/
+@[simps]
+def toAddMonoidHom' : (M →ₛₗ[σ₁₂] M₂) →+ M →+ M₂ where
+ toFun := toAddMonoidHom
+ map_zero' := by ext; rfl
+ map_add' := by intros; ext; rfl
+#align linear_map.to_add_monoid_hom' LinearMap.toAddMonoidHom'
+
end Arithmetic
section Actions
@@ -94,16 +94,13 @@ add_decl_doc LinearMap.toMulActionHom
add_decl_doc LinearMap.toAddHom
#align linear_map.to_add_hom LinearMap.toAddHom
--- mathport name: «expr →ₛₗ[ ] »
/-- `M →ₛₗ[σ] N` is the type of `σ`-semilinear maps from `M` to `N`. -/
notation:25 M " →ₛₗ[" σ:25 "] " M₂:0 => LinearMap σ M M₂
/-- `M →ₗ[R] N` is the type of `R`-linear maps from `M` to `N`. -/
--- mathport name: «expr →ₗ[ ] »
notation:25 M " →ₗ[" R:25 "] " M₂:0 => LinearMap (RingHom.id R) M M₂
/-- `M →ₗ⋆[R] N` is the type of `R`-conjugate-linear maps from `M` to `N`. -/
--- mathport name: «expr →ₗ⋆[ ] »
notation:25 M " →ₗ⋆[" R:25 "] " M₂:0 => LinearMap (starRingEnd R) M M₂
/-- `SemilinearMapClass F σ M M₂` asserts `F` is a type of bundled `σ`-semilinear maps `M → M₂`.
Generalize MulActionHom
so that it allows two different monoids acting, related by a morphism. This is inspired by the treatment of (semi)linear maps in mathlib, and allows to refactor them.
Let M
, N
, X
, Y
be types, with SMul M X
and SMul N Y
, and let φ : M → N
be a map.
MulActionHom φ X Y
, the type of equivariant functions from X
to Y
, consists of functions f : X → Y
such that f (m • x) = (φ m) • (f x)
for all m : M
and x : X
.Assume that we have Monoid M
, Monoid N
and that φ : M →* N
. For A
, B
by types with AddMonoid A
and AddMonoid B
, endowed with DistribMulAction M A
and DistribMulAction M B
:
DistribMulActionHom φ A B
is the type of equivariant additive monoid homomorphisms from A
to B
.Similarly, when R
and S
are types with Semiring R
, Semiring S
, MulSemiringAction M R
and MulSemiringAction N S
SMulSemiringHom φ R S
is the type of equivariant ring homomorphisms
from R
to S
.The above types have corresponding classes:
MulActionHomClass F φ X Y
states that F
is a type of bundled X → Y
homs which are φ
-equivariantDistribMulActionHomClass F φ A B
states that F
is a type of bundled A → B
homs preserving the additive monoid structure and φ
-equivariantSMulSemiringHomClass F φ R S
states that F
is a type of bundled R → S
homs preserving the ring structure and φ
-equivariantWe introduce the following notation to code equivariant maps
(the subscript index ₑ
is for equivariant) :
X →ₑ[φ] Y
is MulActionHom φ X Y
.A →ₑ+[φ] B
is DistribMulActionHom φ A B
.R →ₑ+*[φ] S
is MulSemiringActionHom φ R S
.When M = N
and φ = MonoidHom.id M
, we provide the backward compatible notation :
X →[M] Y
is MulActionHom ([@id](https://github.com/id) M) X Y
A →+[M] B
is DistribMulActionHom (MonoidHom.id M) A B
R →+*[M] S
is MulSemiringActionHom (MonoidHom.id M) R S
This more general definition is propagated all over mathlib, in particular to LinearMap
.
The treatment of composition of equivariant maps is inspired by that of semilinear maps. We provide classes CompTriple
and MonoidHom.CompTriple
of “composable triples`, and various instances for them.
@@ -84,12 +84,12 @@ is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
maps is available with the predicate `IsLinearMap`, but it should be avoided most of the time. -/
structure LinearMap {R S : Type*} [Semiring R] [Semiring S] (σ : R →+* S) (M : Type*)
(M₂ : Type*) [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module S M₂] extends
- AddHom M M₂ where
- /-- A linear map preserves scalar multiplication.
- We prefer the spelling `_root_.map_smul` instead. -/
- protected map_smul' : ∀ (r : R) (x : M), toFun (r • x) = σ r • toFun x
+ AddHom M M₂, MulActionHom σ M M₂
#align linear_map LinearMap
+/-- The `MulActionHom` underlying a `LinearMap`. -/
+add_decl_doc LinearMap.toMulActionHom
+
/-- The `AddHom` underlying a `LinearMap`. -/
add_decl_doc LinearMap.toAddHom
#align linear_map.to_add_hom LinearMap.toAddHom
@@ -114,12 +114,9 @@ A map `f` between an `R`-module and an `S`-module over a ring homomorphism `σ :
is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`f (c • x) = (σ c) • f x`. -/
class SemilinearMapClass (F : Type*) {R S : outParam (Type*)} [Semiring R] [Semiring S]
- (σ : outParam (R →+* S)) (M M₂ : outParam Type*) [AddCommMonoid M] [AddCommMonoid M₂]
- [Module R M] [Module S M₂] [FunLike F M M₂]
- extends AddHomClass F M M₂ : Prop where
- /-- A semilinear map preserves scalar multiplication up to some ring homomorphism `σ`.
- See also `_root_.map_smul` for the case where `σ` is the identity. -/
- map_smulₛₗ : ∀ (f : F) (r : R) (x : M), f (r • x) = σ r • f x
+ (σ : outParam (R →+* S)) (M M₂ : outParam (Type*)) [AddCommMonoid M] [AddCommMonoid M₂]
+ [Module R M] [Module S M₂] [FunLike F M M₂]
+ extends AddHomClass F M M₂, MulActionSemiHomClass F σ M M₂ : Prop
#align semilinear_map_class SemilinearMapClass
end
@@ -128,8 +125,6 @@ end
-- `σ` becomes a metavariable but that's fine because it's an `outParam`
-- attribute [nolint dangerousInstance] SemilinearMapClass.toAddHomClass
-export SemilinearMapClass (map_smulₛₗ)
-
-- `map_smulₛₗ` should be `@[simp]` but doesn't fire due to `lean4#3701`.
-- attribute [simp] map_smulₛₗ
@@ -143,6 +138,12 @@ abbrev LinearMapClass (F : Type*) (R : outParam (Type*)) (M M₂ : Type*)
SemilinearMapClass F (RingHom.id R) M M₂
#align linear_map_class LinearMapClass
+@[simp high]
+protected lemma LinearMapClass.map_smul {R M M₂ : outParam (Type*)} [Semiring R] [AddCommMonoid M]
+ [AddCommMonoid M₂] [Module R M] [Module R M₂]
+ {F : Type*} [FunLike F M M₂] [LinearMapClass F R M M₂] (f : F) (r : R) (x : M) :
+ f (r • x) = r • f x := by rw [_root_.map_smul]
+
namespace SemilinearMapClass
variable (F : Type*)
@@ -160,10 +161,11 @@ instance (priority := 100) instAddMonoidHomClass [FunLike F M M₃] [SemilinearM
rw [← zero_smul R (0 : M), map_smulₛₗ]
simp }
-instance (priority := 100) distribMulActionHomClass [FunLike F M M₂] [LinearMapClass F R M M₂] :
- DistribMulActionHomClass F R M M₂ :=
- { SemilinearMapClass.instAddMonoidHomClass F with
- map_smul := fun f c x ↦ by rw [map_smulₛₗ, RingHom.id_apply] }
+instance (priority := 100) distribMulActionSemiHomClass
+ [FunLike F M M₃] [SemilinearMapClass F σ M M₃] :
+ DistribMulActionSemiHomClass F σ M M₃ :=
+ { SemilinearMapClass.toAddHomClass with
+ map_smulₛₗ := fun f c x ↦ by rw [map_smulₛₗ] }
variable {F} (f : F) [FunLike F M M₃] [SemilinearMapClass F σ M M₃]
@@ -228,7 +230,7 @@ instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M
#noalign LinearMap.has_coe_to_fun
/-- The `DistribMulActionHom` underlying a `LinearMap`. -/
-def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂ :=
+def toDistribMulActionHom (f : M →ₛₗ[σ] M₃) : DistribMulActionHom σ.toMonoidHom M M₃ :=
{ f with map_zero' := show f 0 = 0 from map_zero f }
#align linear_map.to_distrib_mul_action_hom LinearMap.toDistribMulActionHom
@@ -288,7 +290,7 @@ theorem toLinearMap_injective {F : Type*} [FunLike F M M₃] [SemilinearMapClass
/-- Identity map as a `LinearMap` -/
def id : M →ₗ[R] M :=
- { DistribMulActionHom.id R with }
+ { DistribMulActionHom.id R with toFun := _root_.id }
#align linear_map.id LinearMap.id
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
@@ -412,7 +414,7 @@ instance (priority := 100) IsScalarTower.compatibleSMul [SMul R S]
instance IsScalarTower.compatibleSMul' [SMul R S] [IsScalarTower R S M] :
CompatibleSMul S M R S where
- __ := IsScalarTower.smulHomClass R S M (S →ₗ[S] M)
+ map_smul := (IsScalarTower.smulHomClass R S M (S →ₗ[S] M)).map_smulₛₗ
@[simp]
theorem map_smul_of_tower [CompatibleSMul M M₂ R S] (fₗ : M →ₗ[S] M₂) (c : R) (x : M) :
@@ -667,14 +669,30 @@ end Module
namespace DistribMulActionHom
-variable [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
+variable [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃]
+variable [Semiring R] [Module R M] [Semiring S] [Module S M₂] [Module R M₃]
+variable {σ : R →+* S}
+
+/-- A `DistribMulActionHom` between two modules is a linear map. -/
+@[coe]
+def toSemilinearMap (fₗ : M →ₑ+[σ.toMonoidHom] M₂) : M →ₛₗ[σ] M₂ :=
+ { fₗ with }
+
+instance : SemilinearMapClass (M →ₑ+[σ.toMonoidHom] M₂) σ M M₂ where
+
+instance : CoeTC (M →ₑ+[σ.toMonoidHom] M₂) (M →ₛₗ[σ] M₂) :=
+ ⟨toSemilinearMap⟩
/-- A `DistribMulActionHom` between two modules is a linear map. -/
-instance instLinearMapClass : LinearMapClass (M →+[R] M₂) R M M₂ where
- map_smulₛₗ := map_smul
+def toLinearMap (fₗ : M →+[R] M₃) : M →ₗ[R] M₃ :=
+ { fₗ with }
+#align distrib_mul_action_hom.to_linear_map DistribMulActionHom.toLinearMap
-instance instCoeTCLinearMap : CoeTC (M →+[R] M₂) (M →ₗ[R] M₂) where
- coe f := SemilinearMapClass.semilinearMap f
+instance instCoeTCLinearMap : CoeTC (M →+[R] M₃) (M →ₗ[R] M₃) :=
+ ⟨toLinearMap⟩
+
+/-- A `DistribMulActionHom` between two modules is a linear map. -/
+instance : LinearMapClass (M →+[R] M₃) R M M₃ where
-- Porting note: because coercions get unfolded, there is no need for this rewrite
#noalign distrib_mul_action_hom.to_linear_map_eq_coe
@@ -682,11 +700,12 @@ instance instCoeTCLinearMap : CoeTC (M →+[R] M₂) (M →ₗ[R] M₂) where
-- Porting note: removed @[norm_cast] attribute due to error:
-- norm_cast: badly shaped lemma, rhs can't start with coe
@[simp]
-theorem coe_toLinearMap (f : M →+[R] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
+theorem coe_toLinearMap (f : M →ₑ+[σ.toMonoidHom] M₂) : ((f : M →ₛₗ[σ] M₂) : M → M₂) = f :=
rfl
#align distrib_mul_action_hom.coe_to_linear_map DistribMulActionHom.coe_toLinearMap
-theorem toLinearMap_injective {f g : M →+[R] M₂} (h : (f : M →ₗ[R] M₂) = (g : M →ₗ[R] M₂)) :
+theorem toLinearMap_injective {f g : M →ₑ+[σ.toMonoidHom] M₂}
+ (h : (f : M →ₛₗ[σ] M₂) = (g : M →ₛₗ[σ] M₂)) :
f = g := by
ext m
exact LinearMap.congr_fun h m
This PR adds a coercion from any instance of SemilinearMapClass
to SemilinearMap
. This is the standard practice for other parts of the library, such as ring homs (see also the recent change #10368). I also expect this change will help with some rough edges in #6057. Previously, a coercion from f : AlgHom
to LinearMap
would look like f.toNonUnitalAlgHom.toDistribMulActionHom.toLinearMap
, now it should look like SemilinearMapClass.semilinearMap f
.
The new coercion instances are CoeHead
since the left hand side is a free variable F
. I redefined the existing DistribMulActionHom → LinearMap
coercion in terms of the SemilinearMapClass
coercion to ensure we don't get any diamonds.
@@ -172,11 +172,16 @@ theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_inv
/-- Reinterpret an element of a type of semilinear maps as a semilinear map. -/
-abbrev semilinearMap : M →ₛₗ[σ] M₃ where
+@[coe]
+def semilinearMap : M →ₛₗ[σ] M₃ where
toFun := f
map_add' := map_add f
map_smul' := map_smulₛₗ f
+/-- Reinterpret an element of a type of semilinear maps as a semilinear map. -/
+instance instCoeToSemilinearMap : CoeHead F (M →ₛₗ[σ] M₃) where
+ coe f := semilinearMap f
+
end SemilinearMapClass
namespace LinearMapClass
@@ -186,6 +191,10 @@ variable {F : Type*} [Semiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Mod
/-- Reinterpret an element of a type of linear maps as a linear map. -/
abbrev linearMap : M₁ →ₗ[R] M₂ := SemilinearMapClass.semilinearMap f
+/-- Reinterpret an element of a type of linear maps as a linear map. -/
+instance instCoeToLinearMap : CoeHead F (M₁ →ₗ[R] M₂) where
+ coe f := SemilinearMapClass.semilinearMap f
+
end LinearMapClass
namespace LinearMap
@@ -266,6 +275,17 @@ theorem coe_addHom_mk {σ : R →+* S} (f : AddHom M M₃) (h) :
((LinearMap.mk f h : M →ₛₗ[σ] M₃) : AddHom M M₃) = f :=
rfl
+theorem coe_semilinearMap {F : Type*} [FunLike F M M₃] [SemilinearMapClass F σ M M₃] (f : F) :
+ ((f : M →ₛₗ[σ] M₃) : M → M₃) = f :=
+ rfl
+
+theorem toLinearMap_injective {F : Type*} [FunLike F M M₃] [SemilinearMapClass F σ M M₃]
+ {f g : F} (h : (f : M →ₛₗ[σ] M₃) = (g : M →ₛₗ[σ] M₃)) :
+ f = g := by
+ apply DFunLike.ext
+ intro m
+ exact DFunLike.congr_fun h m
+
/-- Identity map as a `LinearMap` -/
def id : M →ₗ[R] M :=
{ DistribMulActionHom.id R with }
@@ -650,13 +670,11 @@ namespace DistribMulActionHom
variable [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
/-- A `DistribMulActionHom` between two modules is a linear map. -/
-@[coe]
-def toLinearMap (fₗ : M →+[R] M₂) : M →ₗ[R] M₂ :=
- { fₗ with }
-#align distrib_mul_action_hom.to_linear_map DistribMulActionHom.toLinearMap
+instance instLinearMapClass : LinearMapClass (M →+[R] M₂) R M M₂ where
+ map_smulₛₗ := map_smul
-instance : CoeTC (M →+[R] M₂) (M →ₗ[R] M₂) :=
- ⟨toLinearMap⟩
+instance instCoeTCLinearMap : CoeTC (M →+[R] M₂) (M →ₗ[R] M₂) where
+ coe f := SemilinearMapClass.semilinearMap f
-- Porting note: because coercions get unfolded, there is no need for this rewrite
#noalign distrib_mul_action_hom.to_linear_map_eq_coe
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -226,7 +226,7 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
@[simp]
theorem coe_toAddHom (f : M →ₛₗ[σ] M₃) : ⇑f.toAddHom = f := rfl
--- porting note: no longer a `simp`
+-- Porting note: no longer a `simp`
theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) := rfl
#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coe
@@ -441,7 +441,7 @@ See also `LinearMap.map_smul_of_tower`. -/
map_smul' := fₗ.map_smul_of_tower
#align linear_map.restrict_scalars LinearMap.restrictScalars
--- porting note: generalized from `Algebra` to `CompatibleSMul`
+-- Porting note: generalized from `Algebra` to `CompatibleSMul`
instance coeIsScalarTower : CoeHTCT (M →ₗ[S] M₂) (M →ₗ[R] M₂) :=
⟨restrictScalars R⟩
#align linear_map.coe_is_scalar_tower LinearMap.coeIsScalarTower
DomMulAct
of a ring (#10766)
splitted from #8559
These are written by @alreadydone
Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -7,6 +7,7 @@ Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne
import Mathlib.Algebra.Module.Pi
import Mathlib.Algebra.Ring.CompTypeclasses
import Mathlib.Algebra.Star.Basic
+import Mathlib.GroupTheory.GroupAction.DomAct.Basic
import Mathlib.GroupTheory.GroupAction.Hom
#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
@@ -831,6 +832,32 @@ instance [DistribMulAction Sᵐᵒᵖ M₂] [SMulCommClass R₂ Sᵐᵒᵖ M₂]
IsCentralScalar S (M →ₛₗ[σ₁₂] M₂) where
op_smul_eq_smul _ _ := ext fun _ ↦ op_smul_eq_smul _ _
+variable {S' T' : Type*}
+variable [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M]
+variable [Monoid T'] [DistribMulAction T' M] [SMulCommClass R T' M]
+
+instance : SMul S'ᵈᵐᵃ (M →ₛₗ[σ₁₂] M₂) where
+ smul a f :=
+ { toFun := a • (f : M → M₂)
+ map_add' := fun x y ↦ by simp only [DomMulAct.smul_apply, f.map_add, smul_add]
+ map_smul' := fun c x ↦ by simp_rw [DomMulAct.smul_apply, ← smul_comm, f.map_smulₛₗ] }
+
+theorem _root_.DomMulAct.smul_linearMap_apply (a : S'ᵈᵐᵃ) (f : M →ₛₗ[σ₁₂] M₂) (x : M) :
+ (a • f) x = f (DomMulAct.mk.symm a • x) :=
+ rfl
+
+@[simp]
+theorem _root_.DomMulAct.mk_smul_linearMap_apply (a : S') (f : M →ₛₗ[σ₁₂] M₂) (x : M) :
+ (DomMulAct.mk a • f) x = f (a • x) :=
+ rfl
+
+theorem _root_.DomMulAct.coe_smul_linearMap (a : S'ᵈᵐᵃ) (f : M →ₛₗ[σ₁₂] M₂) :
+ (a • f : M →ₛₗ[σ₁₂] M₂) = a • (f : M → M₂) :=
+ rfl
+
+instance [SMulCommClass S' T' M] : SMulCommClass S'ᵈᵐᵃ T'ᵈᵐᵃ (M →ₛₗ[σ₁₂] M₂) :=
+ ⟨fun s t f ↦ ext fun m ↦ by simp_rw [DomMulAct.smul_linearMap_apply, smul_comm]⟩
+
end SMul
/-! ### Arithmetic on the codomain -/
@@ -982,11 +1009,18 @@ theorem comp_smul [Module R M₂] [Module R M₃] [SMulCommClass R S M₂] [Dist
ext fun _ ↦ g.map_smul_of_tower _ _
#align linear_map.comp_smul LinearMap.comp_smul
+instance {S'} [Monoid S'] [DistribMulAction S' M] [SMulCommClass R S' M] :
+ DistribMulAction S'ᵈᵐᵃ (M →ₛₗ[σ₁₂] M₂) where
+ one_smul _ := ext fun _ ↦ congr_arg _ (one_smul _ _)
+ mul_smul _ _ _ := ext fun _ ↦ congr_arg _ (mul_smul _ _ _)
+ smul_add _ _ _ := ext fun _ ↦ rfl
+ smul_zero _ := ext fun _ ↦ rfl
+
end SMul
section Module
-variable [Semiring S] [Module S M₂] [SMulCommClass R₂ S M₂]
+variable [Semiring S] [Module S M] [Module S M₂] [SMulCommClass R₂ S M₂]
instance module : Module S (M →ₛₗ[σ₁₂] M₂) where
add_smul _ _ _ := ext fun _ ↦ add_smul _ _ _
@@ -995,6 +1029,11 @@ instance module : Module S (M →ₛₗ[σ₁₂] M₂) where
instance [NoZeroSMulDivisors S M₂] : NoZeroSMulDivisors S (M →ₛₗ[σ₁₂] M₂) :=
coe_injective.noZeroSMulDivisors _ rfl coe_smul
+instance [SMulCommClass R S M] : Module Sᵈᵐᵃ (M →ₛₗ[σ₁₂] M₂) where
+ add_smul _ _ _ := ext fun _ ↦ by
+ simp_rw [add_apply, DomMulAct.smul_linearMap_apply, ← map_add, ← add_smul]; rfl
+ zero_smul _ := ext fun _ ↦ by erw [DomMulAct.smul_linearMap_apply, zero_smul, map_zero]; rfl
+
end Module
end Actions
The FunLike hierarchy is very big and gets scanned through each time we need a coercion (via the CoeFun
instance). It looks like unbundled inheritance suits Lean 4 better here. The only class that still extends FunLike
is EquivLike
, since that has a custom coe_injective'
field that is easier to implement. All other classes should take FunLike
or EquivLike
as a parameter.
Previously, morphism classes would be Type
-valued and extend FunLike
:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
extends FunLike F A B :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
After this PR, they should be Prop
-valued and take FunLike
as a parameter:
/-- `MyHomClass F A B` states that `F` is a type of `MyClass.op`-preserving morphisms.
You should extend this class when you extend `MyHom`. -/
class MyHomClass (F : Type*) (A B : outParam <| Type*) [MyClass A] [MyClass B]
[FunLike F A B] : Prop :=
(map_op : ∀ (f : F) (x y : A), f (MyClass.op x y) = MyClass.op (f x) (f y))
(Note that A B
stay marked as outParam
even though they are not purely required to be so due to the FunLike
parameter already filling them in. This is required to see through type synonyms, which is important in the category theory library. Also, I think keeping them as outParam
is slightly faster.)
Similarly, MyEquivClass
should take EquivLike
as a parameter.
As a result, every mention of [MyHomClass F A B]
should become [FunLike F A B] [MyHomClass F A B]
.
While overall this gives some great speedups, there are some cases that are noticeably slower. In particular, a failing application of a lemma such as map_mul
is more expensive. This is due to suboptimal processing of arguments. For example:
variable [FunLike F M N] [Mul M] [Mul N] (f : F) (x : M) (y : M)
theorem map_mul [MulHomClass F M N] : f (x * y) = f x * f y
example [AddHomClass F A B] : f (x * y) = f x * f y := map_mul f _ _
Before this PR, applying map_mul f
gives the goals [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Since M
and N
are out_param
s, [MulHomClass F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found.
After this PR, the goals become [FunLike F ?M ?N] [Mul ?M] [Mul ?N] [MulHomClass F ?M ?N]
. Now [FunLike F ?M ?N]
is synthesized first, supplies values for ?M
and ?N
and then the Mul M
and Mul N
instances can be found, before trying MulHomClass F M N
which fails. Since the Mul
hierarchy is very big, this can be slow to fail, especially when there is no such Mul
instance.
A long-term but harder to achieve solution would be to specify the order in which instance goals get solved. For example, we'd like to change the arguments to map_mul
to look like [FunLike F M N] [Mul M] [Mul N] [highPriority <| MulHomClass F M N]
because MulHomClass
fails or succeeds much faster than the others.
As a consequence, the simpNF
linter is much slower since by design it tries and fails to apply many map_
lemmas. The same issue occurs a few times in existing calls to simp [map_mul]
, where map_mul
is tried "too soon" and fails. Thanks to the speedup of leanprover/lean4#2478 the impact is very limited, only in files that already were close to the timeout.
simp
not firing sometimesThis affects map_smulₛₗ
and related definitions. For simp
lemmas Lean apparently uses a slightly different mechanism to find instances, so that rw
can find every argument to map_smulₛₗ
successfully but simp
can't: leanprover/lean4#3701.
Especially in the category theory library, we might sometimes have a type A
which is also accessible as a synonym (Bundled A hA).1
. Instance synthesis doesn't always work if we have f : A →* B
but x * y : (Bundled A hA).1
or vice versa. This seems to be mostly fixed by keeping A B
as outParam
s in MulHomClass F A B
. (Presumably because Lean will do a definitional check A =?= (Bundled A hA).1
instead of using the syntax in the discrimination tree.)
The timeouts can be worked around for now by specifying which map_mul
we mean, either as map_mul f
for some explicit f
, or as e.g. MonoidHomClass.map_mul
.
map_smulₛₗ
not firing as simp
lemma can be worked around by going back to the pre-FunLike situation and making LinearMap.map_smulₛₗ
a simp
lemma instead of the generic map_smulₛₗ
. Writing simp [map_smulₛₗ _]
also works.
Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
@@ -113,8 +113,9 @@ A map `f` between an `R`-module and an `S`-module over a ring homomorphism `σ :
is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`f (c • x) = (σ c) • f x`. -/
class SemilinearMapClass (F : Type*) {R S : outParam (Type*)} [Semiring R] [Semiring S]
- (σ : outParam (R →+* S)) (M M₂ : outParam (Type*)) [AddCommMonoid M] [AddCommMonoid M₂]
- [Module R M] [Module S M₂] extends AddHomClass F M M₂ where
+ (σ : outParam (R →+* S)) (M M₂ : outParam Type*) [AddCommMonoid M] [AddCommMonoid M₂]
+ [Module R M] [Module S M₂] [FunLike F M M₂]
+ extends AddHomClass F M M₂ : Prop where
/-- A semilinear map preserves scalar multiplication up to some ring homomorphism `σ`.
See also `_root_.map_smul` for the case where `σ` is the identity. -/
map_smulₛₗ : ∀ (f : F) (r : R) (x : M), f (r • x) = σ r • f x
@@ -128,14 +129,16 @@ end
export SemilinearMapClass (map_smulₛₗ)
-attribute [simp] map_smulₛₗ
+-- `map_smulₛₗ` should be `@[simp]` but doesn't fire due to `lean4#3701`.
+-- attribute [simp] map_smulₛₗ
/-- `LinearMapClass F R M M₂` asserts `F` is a type of bundled `R`-linear maps `M → M₂`.
This is an abbreviation for `SemilinearMapClass F (RingHom.id R) M M₂`.
-/
-abbrev LinearMapClass (F : Type*) (R M M₂ : outParam (Type*)) [Semiring R] [AddCommMonoid M]
- [AddCommMonoid M₂] [Module R M] [Module R M₂] :=
+abbrev LinearMapClass (F : Type*) (R : outParam (Type*)) (M M₂ : Type*)
+ [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module R M₂]
+ [FunLike F M M₂] :=
SemilinearMapClass F (RingHom.id R) M M₂
#align linear_map_class LinearMapClass
@@ -148,7 +151,7 @@ variable [Module R M] [Module R M₂] [Module S M₃]
variable {σ : R →+* S}
-- Porting note: the `dangerousInstance` linter has become smarter about `outParam`s
-instance (priority := 100) addMonoidHomClass [SemilinearMapClass F σ M M₃] :
+instance (priority := 100) instAddMonoidHomClass [FunLike F M M₃] [SemilinearMapClass F σ M M₃] :
AddMonoidHomClass F M M₃ :=
{ SemilinearMapClass.toAddHomClass with
map_zero := fun f ↦
@@ -156,15 +159,15 @@ instance (priority := 100) addMonoidHomClass [SemilinearMapClass F σ M M₃] :
rw [← zero_smul R (0 : M), map_smulₛₗ]
simp }
-instance (priority := 100) distribMulActionHomClass [LinearMapClass F R M M₂] :
+instance (priority := 100) distribMulActionHomClass [FunLike F M M₂] [LinearMapClass F R M M₂] :
DistribMulActionHomClass F R M M₂ :=
- { SemilinearMapClass.addMonoidHomClass F with
+ { SemilinearMapClass.instAddMonoidHomClass F with
map_smul := fun f c x ↦ by rw [map_smulₛₗ, RingHom.id_apply] }
-variable {F} (f : F) [i : SemilinearMapClass F σ M M₃]
+variable {F} (f : F) [FunLike F M M₃] [SemilinearMapClass F σ M M₃]
theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
- c • f x = f (σ' c • x) := by simp
+ c • f x = f (σ' c • x) := by simp [map_smulₛₗ _]
#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_inv
/-- Reinterpret an element of a type of semilinear maps as a semilinear map. -/
@@ -177,7 +180,7 @@ end SemilinearMapClass
namespace LinearMapClass
variable {F : Type*} [Semiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂]
- (f : F) [LinearMapClass F R M₁ M₂]
+ (f : F) [FunLike F M₁ M₂] [LinearMapClass F R M₁ M₂]
/-- Reinterpret an element of a type of linear maps as a linear map. -/
abbrev linearMap : M₁ →ₗ[R] M₂ := SemilinearMapClass.semilinearMap f
@@ -197,7 +200,7 @@ variable [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N₃]
variable [Module R M] [Module R M₂] [Module S M₃]
variable {σ : R →+* S}
-instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
+instance instFunLike : FunLike (M →ₛₗ[σ] M₃) M M₃ where
coe f := f.toFun
coe_injective' f g h := by
cases f
@@ -205,6 +208,8 @@ instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M
congr
apply DFunLike.coe_injective'
exact h
+
+instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
map_add f := f.map_add'
map_smulₛₗ := LinearMap.map_smul'
#align linear_map.semilinear_map_class LinearMap.semilinearMapClass
@@ -212,10 +217,6 @@ instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M
-- Porting note: we don't port specialized `CoeFun` instances if there is `DFunLike` instead
#noalign LinearMap.has_coe_to_fun
--- Porting note: adding this instance prevents a timeout in `ext_ring_op`
-instance instFunLike {σ : R →+* S} : FunLike (M →ₛₗ[σ] M₃) M M₃ :=
- { AddHomClass.toDFunLike with }
-
/-- The `DistribMulActionHom` underlying a `LinearMap`. -/
def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂ :=
{ f with map_zero' := show f 0 = 0 from map_zero f }
@@ -344,6 +345,8 @@ protected theorem map_zero : f 0 = 0 :=
-- Porting note: `simp` wasn't picking up `map_smulₛₗ` for `LinearMap`s without specifying
-- `map_smulₛₗ f`, so we marked this as `@[simp]` in Mathlib3.
-- For Mathlib4, let's try without the `@[simp]` attribute and hope it won't need to be re-enabled.
+-- This has to be re-tagged as `@[simp]` in #8386 (see also leanprover/lean4#3107).
+@[simp]
protected theorem map_smulₛₗ (c : R) (x : M) : f (c • x) = σ c • f x :=
map_smulₛₗ f c x
#align linear_map.map_smulₛₗ LinearMap.map_smulₛₗ
@@ -514,7 +517,8 @@ variable (f : M₂ →ₛₗ[σ₂₃] M₃) (g : M₁ →ₛₗ[σ₁₂] M₂)
def comp : M₁ →ₛₗ[σ₁₃] M₃ where
toFun := f ∘ g
map_add' := by simp only [map_add, forall_const, Function.comp_apply]
- map_smul' r x := by simp only [Function.comp_apply, map_smulₛₗ, RingHomCompTriple.comp_apply]
+ -- Note that #8386 changed `map_smulₛₗ` to `map_smulₛₗ _`
+ map_smul' r x := by simp only [Function.comp_apply, map_smulₛₗ _, RingHomCompTriple.comp_apply]
#align linear_map.comp LinearMap.comp
/-- `∘ₗ` is notation for composition of two linear (not semilinear!) maps into a linear map.
@@ -7,7 +7,6 @@ Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne
import Mathlib.Algebra.Module.Pi
import Mathlib.Algebra.Ring.CompTypeclasses
import Mathlib.Algebra.Star.Basic
-import Mathlib.Data.Set.Pointwise.SMul
import Mathlib.GroupTheory.GroupAction.Hom
#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
@@ -31,8 +31,6 @@ We then provide `LinearMap` with the following instances:
corresponding to addition in the codomain
* `LinearMap.distribMulAction` and `LinearMap.module`: the elementwise scalar action structures
corresponding to applying the action in the codomain.
-* `Module.End.semiring` and `Module.End.ring`: the (semi)ring of endomorphisms formed by taking the
- additive structure above with composition as multiplication.
## Implementation notes
@@ -196,11 +194,8 @@ variable [Semiring R] [Semiring S]
section
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
-
variable [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N₃]
-
variable [Module R M] [Module R M₂] [Module S M₃]
-
variable {σ : R →+* S}
instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
@@ -304,13 +299,9 @@ end
section
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
-
variable [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N₃]
-
variable [Module R M] [Module R M₂] [Module S M₃]
-
variable (σ : R →+* S)
-
variable (fₗ gₗ : M →ₗ[R] M₂) (f g : M →ₛₗ[σ] M₃)
theorem isLinear : IsLinearMap R fₗ :=
@@ -371,49 +362,6 @@ theorem map_eq_zero_iff (h : Function.Injective f) {x : M} : f x = 0 ↔ x = 0 :
_root_.map_eq_zero_iff f h
#align linear_map.map_eq_zero_iff LinearMap.map_eq_zero_iff
-section Pointwise
-
-open Pointwise
-
-variable (M M₃ σ) {F : Type*} (h : F)
-
-@[simp]
-theorem _root_.image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
- h '' (c • s) = σ c • h '' s := by
- apply Set.Subset.antisymm
- · rintro x ⟨y, ⟨z, zs, rfl⟩, rfl⟩
- exact ⟨h z, Set.mem_image_of_mem _ zs, (map_smulₛₗ _ _ _).symm⟩
- · rintro x ⟨y, ⟨z, hz, rfl⟩, rfl⟩
- exact (Set.mem_image _ _ _).2 ⟨c • z, Set.smul_mem_smul_set hz, map_smulₛₗ _ _ _⟩
-#align image_smul_setₛₗ image_smul_setₛₗ
-
-theorem _root_.preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R} (hc : IsUnit c)
- (s : Set M₃) :
- h ⁻¹' (σ c • s) = c • h ⁻¹' s := by
- apply Set.Subset.antisymm
- · rintro x ⟨y, ys, hy⟩
- refine' ⟨(hc.unit.inv : R) • x, _, _⟩
- · simp only [← hy, smul_smul, Set.mem_preimage, Units.inv_eq_val_inv, map_smulₛₗ h, ← map_mul,
- IsUnit.val_inv_mul, one_smul, map_one, ys]
- · simp only [smul_smul, IsUnit.mul_val_inv, one_smul, Units.inv_eq_val_inv]
- · rintro x ⟨y, hy, rfl⟩
- refine' ⟨h y, hy, by simp only [RingHom.id_apply, map_smulₛₗ h]⟩
-#align preimage_smul_setₛₗ preimage_smul_setₛₗ
-
-variable (R M₂)
-
-theorem _root_.image_smul_set [LinearMapClass F R M M₂] (c : R) (s : Set M) :
- h '' (c • s) = c • h '' s :=
- image_smul_setₛₗ _ _ _ h c s
-#align image_smul_set image_smul_set
-
-theorem _root_.preimage_smul_set [LinearMapClass F R M M₂] {c : R} (hc : IsUnit c) (s : Set M₂) :
- h ⁻¹' (c • s) = c • h ⁻¹' s :=
- preimage_smul_setₛₗ _ _ _ h hc s
-#align preimage_smul_set preimage_smul_set
-
-end Pointwise
-
variable (M M₂)
/-- A typeclass for `SMul` structures which can be moved through a `LinearMap`.
@@ -649,9 +597,7 @@ end AddCommMonoid
section AddCommGroup
variable [Semiring R] [Semiring S] [AddCommGroup M] [AddCommGroup M₂]
-
variable {module_M : Module R M} {module_M₂ : Module S M₂} {σ : R →+* S}
-
variable (f : M →ₛₗ[σ] M₂)
protected theorem map_neg (x : M) : f (-x) = -f x :=
@@ -788,12 +734,6 @@ end AddCommGroup
end IsLinearMap
-/-- Linear endomorphisms of a module, with associated ring structure
-`Module.End.semiring` and algebra structure `Module.End.algebra`. -/
-abbrev Module.End (R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] [Module R M] :=
- M →ₗ[R] M
-#align module.End Module.End
-
/-- Reinterpret an additive homomorphism as an `ℕ`-linear map. -/
def AddMonoidHom.toNatLinearMap [AddCommMonoid M] [AddCommMonoid M₂] (f : M →+ M₂) : M →ₗ[ℕ] M₂
where
@@ -892,7 +832,6 @@ end SMul
/-! ### Arithmetic on the codomain -/
-
section Arithmetic
variable [Semiring R₁] [Semiring R₂] [Semiring R₃]
@@ -1057,442 +996,4 @@ end Module
end Actions
-/-!
-### Monoid structure of endomorphisms
--/
-
-
-section Endomorphisms
-
-variable [Semiring R] [AddCommMonoid M] [AddCommGroup N₁] [Module R M] [Module R N₁]
-
-instance : One (Module.End R M) :=
- ⟨LinearMap.id⟩
-
-instance : Mul (Module.End R M) :=
- ⟨LinearMap.comp⟩
-
-theorem one_eq_id : (1 : Module.End R M) = id :=
- rfl
-#align linear_map.one_eq_id LinearMap.one_eq_id
-
-theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
- rfl
-#align linear_map.mul_eq_comp LinearMap.mul_eq_comp
-
-@[simp]
-theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
- rfl
-#align linear_map.one_apply LinearMap.one_apply
-
-@[simp]
-theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
- rfl
-#align linear_map.mul_apply LinearMap.mul_apply
-
-theorem coe_one : ⇑(1 : Module.End R M) = _root_.id :=
- rfl
-#align linear_map.coe_one LinearMap.coe_one
-
-theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
- rfl
-#align linear_map.coe_mul LinearMap.coe_mul
-
-instance _root_.Module.End.monoid : Monoid (Module.End R M) where
- mul := (· * ·)
- one := (1 : M →ₗ[R] M)
- mul_assoc f g h := LinearMap.ext fun x ↦ rfl
- mul_one := comp_id
- one_mul := id_comp
-#align module.End.monoid Module.End.monoid
-
-instance _root_.Module.End.semiring : Semiring (Module.End R M) :=
- { AddMonoidWithOne.unary, Module.End.monoid, LinearMap.addCommMonoid with
- mul_zero := comp_zero
- zero_mul := zero_comp
- left_distrib := fun _ _ _ ↦ comp_add _ _ _
- right_distrib := fun _ _ _ ↦ add_comp _ _ _
- natCast := fun n ↦ n • (1 : M →ₗ[R] M)
- natCast_zero := zero_smul ℕ (1 : M →ₗ[R] M)
- natCast_succ := fun n ↦ (AddMonoid.nsmul_succ n (1 : M →ₗ[R] M)).trans (add_comm _ _) }
-#align module.End.semiring Module.End.semiring
-
-/-- See also `Module.End.natCast_def`. -/
-@[simp]
-theorem _root_.Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R M) m = n • m :=
- rfl
-#align module.End.nat_cast_apply Module.End.natCast_apply
-
-@[simp]
-theorem _root_.Module.End.ofNat_apply (n : ℕ) [n.AtLeastTwo] (m : M) :
- (no_index (OfNat.ofNat n) : Module.End R M) m = OfNat.ofNat n • m :=
- rfl
-
-instance _root_.Module.End.ring : Ring (Module.End R N₁) :=
- { Module.End.semiring, LinearMap.addCommGroup with
- intCast := fun z ↦ z • (1 : N₁ →ₗ[R] N₁)
- intCast_ofNat := ofNat_zsmul _
- intCast_negSucc := negSucc_zsmul _ }
-#align module.End.ring Module.End.ring
-
-/-- See also `Module.End.intCast_def`. -/
-@[simp]
-theorem _root_.Module.End.intCast_apply (z : ℤ) (m : N₁) : (z : Module.End R N₁) m = z • m :=
- rfl
-#align module.End.int_cast_apply Module.End.intCast_apply
-
-section
-
-variable [Monoid S] [DistribMulAction S M] [SMulCommClass R S M]
-
-instance _root_.Module.End.isScalarTower :
- IsScalarTower S (Module.End R M) (Module.End R M) :=
- ⟨smul_comp⟩
-#align module.End.is_scalar_tower Module.End.isScalarTower
-
-instance _root_.Module.End.smulCommClass [SMul S R] [IsScalarTower S R M] :
- SMulCommClass S (Module.End R M) (Module.End R M) :=
- ⟨fun s _ _ ↦ (comp_smul _ s _).symm⟩
-#align module.End.smul_comm_class Module.End.smulCommClass
-
-instance _root_.Module.End.smulCommClass' [SMul S R] [IsScalarTower S R M] :
- SMulCommClass (Module.End R M) S (Module.End R M) :=
- SMulCommClass.symm _ _ _
-#align module.End.smul_comm_class' Module.End.smulCommClass'
-
-theorem _root_.Module.End_isUnit_apply_inv_apply_of_isUnit
- {f : Module.End R M} (h : IsUnit f) (x : M) :
- f (h.unit.inv x) = x :=
- show (f * h.unit.inv) x = x by simp
-#align module.End_is_unit_apply_inv_apply_of_is_unit Module.End_isUnit_apply_inv_apply_of_isUnit
-
-theorem _root_.Module.End_isUnit_inv_apply_apply_of_isUnit
- {f : Module.End R M} (h : IsUnit f) (x : M) :
- h.unit.inv (f x) = x :=
- (by simp : (h.unit.inv * f) x = x)
-#align module.End_is_unit_inv_apply_apply_of_is_unit Module.End_isUnit_inv_apply_apply_of_isUnit
-
-theorem coe_pow (f : M →ₗ[R] M) (n : ℕ) : ⇑(f ^ n) = f^[n] := hom_coe_pow _ rfl (fun _ _ ↦ rfl) _ _
-#align linear_map.coe_pow LinearMap.coe_pow
-
-theorem pow_apply (f : M →ₗ[R] M) (n : ℕ) (m : M) : (f ^ n) m = f^[n] m := congr_fun (coe_pow f n) m
-#align linear_map.pow_apply LinearMap.pow_apply
-
-theorem pow_map_zero_of_le {f : Module.End R M} {m : M} {k l : ℕ} (hk : k ≤ l)
- (hm : (f ^ k) m = 0) : (f ^ l) m = 0 := by
- rw [← tsub_add_cancel_of_le hk, pow_add, mul_apply, hm, map_zero]
-#align linear_map.pow_map_zero_of_le LinearMap.pow_map_zero_of_le
-
-theorem commute_pow_left_of_commute
- [Semiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {σ₁₂ : R →+* R₂}
- {f : M →ₛₗ[σ₁₂] M₂} {g : Module.End R M} {g₂ : Module.End R₂ M₂}
- (h : g₂.comp f = f.comp g) (k : ℕ) : (g₂ ^ k).comp f = f.comp (g ^ k) := by
- induction' k with k ih
- · simp only [Nat.zero_eq, pow_zero, one_eq_id, id_comp, comp_id]
- · rw [pow_succ, pow_succ, LinearMap.mul_eq_comp, LinearMap.comp_assoc, ih, ← LinearMap.comp_assoc,
- h, LinearMap.comp_assoc, LinearMap.mul_eq_comp]
-#align linear_map.commute_pow_left_of_commute LinearMap.commute_pow_left_of_commute
-
-@[simp]
-theorem id_pow (n : ℕ) : (id : M →ₗ[R] M) ^ n = id :=
- one_pow n
-#align linear_map.id_pow LinearMap.id_pow
-
-variable {f' : M →ₗ[R] M}
-
-theorem iterate_succ (n : ℕ) : f' ^ (n + 1) = comp (f' ^ n) f' := by rw [pow_succ', mul_eq_comp]
-#align linear_map.iterate_succ LinearMap.iterate_succ
-
-theorem iterate_surjective (h : Surjective f') : ∀ n : ℕ, Surjective (f' ^ n)
- | 0 => surjective_id
- | n + 1 => by
- rw [iterate_succ]
- exact (iterate_surjective h n).comp h
-#align linear_map.iterate_surjective LinearMap.iterate_surjective
-
-theorem iterate_injective (h : Injective f') : ∀ n : ℕ, Injective (f' ^ n)
- | 0 => injective_id
- | n + 1 => by
- rw [iterate_succ]
- exact (iterate_injective h n).comp h
-#align linear_map.iterate_injective LinearMap.iterate_injective
-
-theorem iterate_bijective (h : Bijective f') : ∀ n : ℕ, Bijective (f' ^ n)
- | 0 => bijective_id
- | n + 1 => by
- rw [iterate_succ]
- exact (iterate_bijective h n).comp h
-#align linear_map.iterate_bijective LinearMap.iterate_bijective
-
-theorem injective_of_iterate_injective {n : ℕ} (hn : n ≠ 0) (h : Injective (f' ^ n)) :
- Injective f' := by
- rw [← Nat.succ_pred_eq_of_pos (pos_iff_ne_zero.mpr hn), iterate_succ, coe_comp] at h
- exact h.of_comp
-#align linear_map.injective_of_iterate_injective LinearMap.injective_of_iterate_injective
-
-theorem surjective_of_iterate_surjective {n : ℕ} (hn : n ≠ 0) (h : Surjective (f' ^ n)) :
- Surjective f' := by
- rw [← Nat.succ_pred_eq_of_pos (pos_iff_ne_zero.mpr hn), pow_succ, coe_mul] at h
- exact Surjective.of_comp h
-#align linear_map.surjective_of_iterate_surjective LinearMap.surjective_of_iterate_surjective
-
-end
-
-/-! ### Action by a module endomorphism. -/
-
-
-/-- The tautological action by `Module.End R M` (aka `M →ₗ[R] M`) on `M`.
-
-This generalizes `Function.End.applyMulAction`. -/
-instance applyModule : Module (Module.End R M) M where
- smul := (· <| ·)
- smul_zero := LinearMap.map_zero
- smul_add := LinearMap.map_add
- add_smul := LinearMap.add_apply
- zero_smul := (LinearMap.zero_apply : ∀ m, (0 : M →ₗ[R] M) m = 0)
- one_smul _ := rfl
- mul_smul _ _ _ := rfl
-#align linear_map.apply_module LinearMap.applyModule
-
-@[simp]
-protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
- rfl
-#align linear_map.smul_def LinearMap.smul_def
-
-/-- `LinearMap.applyModule` is faithful. -/
-instance apply_faithfulSMul : FaithfulSMul (Module.End R M) M :=
- ⟨LinearMap.ext⟩
-#align linear_map.apply_has_faithful_smul LinearMap.apply_faithfulSMul
-
-instance apply_smulCommClass : SMulCommClass R (Module.End R M) M where
- smul_comm r e m := (e.map_smul r m).symm
-#align linear_map.apply_smul_comm_class LinearMap.apply_smulCommClass
-
-instance apply_smulCommClass' : SMulCommClass (Module.End R M) R M where
- smul_comm := LinearMap.map_smul
-#align linear_map.apply_smul_comm_class' LinearMap.apply_smulCommClass'
-
-instance apply_isScalarTower {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] :
- IsScalarTower R (Module.End R M) M :=
- ⟨fun _ _ _ ↦ rfl⟩
-#align linear_map.apply_is_scalar_tower LinearMap.apply_isScalarTower
-
-end Endomorphisms
-
-end LinearMap
-
-/-! ### Actions as module endomorphisms -/
-
-
-namespace DistribMulAction
-
-variable (R M) [Semiring R] [AddCommMonoid M] [Module R M]
-
-variable [Monoid S] [DistribMulAction S M] [SMulCommClass S R M]
-
-/-- Each element of the monoid defines a linear map.
-
-This is a stronger version of `DistribMulAction.toAddMonoidHom`. -/
-@[simps]
-def toLinearMap (s : S) : M →ₗ[R] M where
- toFun := HSMul.hSMul s
- map_add' := smul_add s
- map_smul' _ _ := smul_comm _ _ _
-#align distrib_mul_action.to_linear_map DistribMulAction.toLinearMap
-#align distrib_mul_action.to_linear_map_apply DistribMulAction.toLinearMap_apply
-
-/-- Each element of the monoid defines a module endomorphism.
-
-This is a stronger version of `DistribMulAction.toAddMonoidEnd`. -/
-@[simps]
-def toModuleEnd : S →* Module.End R M where
- toFun := toLinearMap R M
- map_one' := LinearMap.ext <| one_smul _
- map_mul' _ _ := LinearMap.ext <| mul_smul _ _
-#align distrib_mul_action.to_module_End DistribMulAction.toModuleEnd
-#align distrib_mul_action.to_module_End_apply DistribMulAction.toModuleEnd_apply
-
-end DistribMulAction
-
-namespace Module
-
-variable (R M) [Semiring R] [AddCommMonoid M] [Module R M]
-
-variable [Semiring S] [Module S M] [SMulCommClass S R M]
-
-/-- Each element of the semiring defines a module endomorphism.
-
-This is a stronger version of `DistribMulAction.toModuleEnd`. -/
-@[simps]
-def toModuleEnd : S →+* Module.End R M :=
- { DistribMulAction.toModuleEnd R M with
- toFun := DistribMulAction.toLinearMap R M
- map_zero' := LinearMap.ext <| zero_smul S
- map_add' := fun _ _ ↦ LinearMap.ext <| add_smul _ _ }
-#align module.to_module_End Module.toModuleEnd
-#align module.to_module_End_apply Module.toModuleEnd_apply
-
-/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `Module.End R R` induced by the right
-multiplication. -/
-@[simps]
-def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.End R R :=
- { Module.toModuleEnd R R with
- toFun := DistribMulAction.toLinearMap R R
- invFun := fun f ↦ MulOpposite.op (f 1)
- left_inv := mul_one
- right_inv := fun _ ↦ LinearMap.ext_ring <| one_mul _ }
-#align module.module_End_self Module.moduleEndSelf
-#align module.module_End_self_apply Module.moduleEndSelf_apply
-
-/-- The canonical (semi)ring isomorphism from `R` to `Module.End Rᵐᵒᵖ R` induced by the left
-multiplication. -/
-@[simps]
-def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
- { Module.toModuleEnd _ _ with
- toFun := DistribMulAction.toLinearMap _ _
- invFun := fun f ↦ f 1
- left_inv := mul_one
- right_inv := fun _ ↦ LinearMap.ext_ring_op <| mul_one _ }
-#align module.module_End_self_op Module.moduleEndSelfOp
-#align module.module_End_self_op_symm_apply Module.moduleEndSelfOp_symm_apply
-#align module.module_End_self_op_apply Module.moduleEndSelfOp_apply
-
-theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
- (↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
- rfl
-#align module.End.nat_cast_def Module.End.natCast_def
-
-theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
- (z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
- rfl
-#align module.End.int_cast_def Module.End.intCast_def
-
-end Module
-
-namespace LinearMap
-
-section AddCommMonoid
-
-section SMulRight
-
-variable [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₁] [Module R M] [Module R M₁]
-variable [Semiring S] [Module R S] [Module S M] [IsScalarTower R S M]
-
-/-- When `f` is an `R`-linear map taking values in `S`, then `fun ↦ b, f b • x` is an `R`-linear
-map. -/
-def smulRight (f : M₁ →ₗ[R] S) (x : M) : M₁ →ₗ[R] M where
- toFun b := f b • x
- map_add' x y := by dsimp only; rw [f.map_add, add_smul]
- map_smul' b y := by dsimp; rw [map_smul, smul_assoc]
-#align linear_map.smul_right LinearMap.smulRight
-
-@[simp]
-theorem coe_smulRight (f : M₁ →ₗ[R] S) (x : M) : (smulRight f x : M₁ → M) = fun c => f c • x :=
- rfl
-#align linear_map.coe_smul_right LinearMap.coe_smulRight
-
-theorem smulRight_apply (f : M₁ →ₗ[R] S) (x : M) (c : M₁) : smulRight f x c = f c • x :=
- rfl
-#align linear_map.smul_right_apply LinearMap.smulRight_apply
-
-@[simp]
-lemma smulRight_zero (f : M₁ →ₗ[R] S) : f.smulRight (0 : M) = 0 := by ext; simp
-
-@[simp]
-lemma zero_smulRight (x : M) : (0 : M₁ →ₗ[R] S).smulRight x = 0 := by ext; simp
-
-@[simp]
-lemma smulRight_apply_eq_zero_iff {f : M₁ →ₗ[R] S} {x : M} [NoZeroSMulDivisors S M] :
- f.smulRight x = 0 ↔ f = 0 ∨ x = 0 := by
- rcases eq_or_ne x 0 with rfl | hx; simp
- refine ⟨fun h ↦ Or.inl ?_, fun h ↦ by simp [h.resolve_right hx]⟩
- ext v
- replace h : f v • x = 0 := by simpa only [LinearMap.zero_apply] using LinearMap.congr_fun h v
- rw [smul_eq_zero] at h
- tauto
-
-end SMulRight
-
-end AddCommMonoid
-
-section Module
-
-variable [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid M₂]
-variable [Module R M] [Module R M₂] [Module S M₂] [SMulCommClass R S M₂]
-
-variable (S)
-
-/-- Applying a linear map at `v : M`, seen as `S`-linear map from `M →ₗ[R] M₂` to `M₂`.
-
- See `LinearMap.applyₗ` for a version where `S = R`. -/
-@[simps]
-def applyₗ' : M →+ (M →ₗ[R] M₂) →ₗ[S] M₂ where
- toFun v :=
- { toFun := fun f => f v
- map_add' := fun f g => f.add_apply g v
- map_smul' := fun x f => f.smul_apply x v }
- map_zero' := LinearMap.ext fun f => f.map_zero
- map_add' _ _ := LinearMap.ext fun f => f.map_add _ _
-#align linear_map.applyₗ' LinearMap.applyₗ'
-
-end Module
-
-section CommSemiring
-
-variable [CommSemiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃]
-variable [Module R M] [Module R M₂] [Module R M₃]
-variable (f g : M →ₗ[R] M₂)
-
-/-- Composition by `f : M₂ → M₃` is a linear map from the space of linear maps `M → M₂`
-to the space of linear maps `M → M₃`. -/
-def compRight (f : M₂ →ₗ[R] M₃) : (M →ₗ[R] M₂) →ₗ[R] M →ₗ[R] M₃ where
- toFun := f.comp
- map_add' _ _ := LinearMap.ext fun _ => map_add f _ _
- map_smul' _ _ := LinearMap.ext fun _ => map_smul f _ _
-#align linear_map.comp_right LinearMap.compRight
-
-@[simp]
-theorem compRight_apply (f : M₂ →ₗ[R] M₃) (g : M →ₗ[R] M₂) : compRight f g = f.comp g :=
- rfl
-#align linear_map.comp_right_apply LinearMap.compRight_apply
-
-/-- Applying a linear map at `v : M`, seen as a linear map from `M →ₗ[R] M₂` to `M₂`.
-See also `LinearMap.applyₗ'` for a version that works with two different semirings.
-
-This is the `LinearMap` version of `toAddMonoidHom.eval`. -/
-@[simps]
-def applyₗ : M →ₗ[R] (M →ₗ[R] M₂) →ₗ[R] M₂ :=
- { applyₗ' R with
- toFun := fun v => { applyₗ' R v with toFun := fun f => f v }
- map_smul' := fun _ _ => LinearMap.ext fun f => map_smul f _ _ }
-#align linear_map.applyₗ LinearMap.applyₗ
-
-/--
-The family of linear maps `M₂ → M` parameterised by `f ∈ M₂ → R`, `x ∈ M`, is linear in `f`, `x`.
--/
-def smulRightₗ : (M₂ →ₗ[R] R) →ₗ[R] M →ₗ[R] M₂ →ₗ[R] M where
- toFun f :=
- { toFun := LinearMap.smulRight f
- map_add' := fun m m' => by
- ext
- apply smul_add
- map_smul' := fun c m => by
- ext
- apply smul_comm }
- map_add' f f' := by
- ext
- apply add_smul
- map_smul' c f := by
- ext
- apply mul_smul
-#align linear_map.smul_rightₗ LinearMap.smulRightₗ
-
-@[simp]
-theorem smulRightₗ_apply (f : M₂ →ₗ[R] R) (x : M) (c : M₂) :
- (smulRightₗ : (M₂ →ₗ[R] R) →ₗ[R] M →ₗ[R] M₂ →ₗ[R] M) f x c = f c • x :=
- rfl
-#align linear_map.smul_rightₗ_apply LinearMap.smulRightₗ_apply
-
-end CommSemiring
-
end LinearMap
@@ -1444,7 +1444,7 @@ variable [Module R M] [Module R M₂] [Module R M₃]
variable (f g : M →ₗ[R] M₂)
/-- Composition by `f : M₂ → M₃` is a linear map from the space of linear maps `M → M₂`
-to the space of linear maps `M₂ → M₃`. -/
+to the space of linear maps `M → M₃`. -/
def compRight (f : M₂ →ₗ[R] M₃) : (M →ₗ[R] M₂) →ₗ[R] M →ₗ[R] M₃ where
toFun := f.comp
map_add' _ _ := LinearMap.ext fun _ => map_add f _ _
FunLike
(#9833)
This follows up from #9785, which renamed FunLike
to DFunLike
, by introducing a new abbreviation FunLike F α β := DFunLike F α (fun _ => β)
, to make the non-dependent use of FunLike
easier.
I searched for the pattern DFunLike.*fun
and DFunLike.*λ
in all files to replace expressions of the form DFunLike F α (fun _ => β)
with FunLike F α β
. I did this everywhere except for extends
clauses for two reasons: it would conflict with #8386, and more importantly extends
must directly refer to a structure with no unfolding of def
s or abbrev
s.
@@ -219,7 +219,7 @@ instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M
#noalign LinearMap.has_coe_to_fun
-- Porting note: adding this instance prevents a timeout in `ext_ring_op`
-instance instDFunLike {σ : R →+* S} : DFunLike (M →ₛₗ[σ] M₃) M (λ _ ↦ M₃) :=
+instance instFunLike {σ : R →+* S} : FunLike (M →ₛₗ[σ] M₃) M M₃ :=
{ AddHomClass.toDFunLike with }
/-- The `DistribMulActionHom` underlying a `LinearMap`. -/
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>
@@ -209,18 +209,18 @@ instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M
cases f
cases g
congr
- apply FunLike.coe_injective'
+ apply DFunLike.coe_injective'
exact h
map_add f := f.map_add'
map_smulₛₗ := LinearMap.map_smul'
#align linear_map.semilinear_map_class LinearMap.semilinearMapClass
--- Porting note: we don't port specialized `CoeFun` instances if there is `FunLike` instead
+-- Porting note: we don't port specialized `CoeFun` instances if there is `DFunLike` instead
#noalign LinearMap.has_coe_to_fun
-- Porting note: adding this instance prevents a timeout in `ext_ring_op`
-instance instFunLike {σ : R →+* S} : FunLike (M →ₛₗ[σ] M₃) M (λ _ ↦ M₃) :=
- { AddHomClass.toFunLike with }
+instance instDFunLike {σ : R →+* S} : DFunLike (M →ₛₗ[σ] M₃) M (λ _ ↦ M₃) :=
+ { AddHomClass.toDFunLike with }
/-- The `DistribMulActionHom` underlying a `LinearMap`. -/
def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂ :=
@@ -236,7 +236,7 @@ theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
- FunLike.ext f g h
+ DFunLike.ext f g h
#align linear_map.ext LinearMap.ext
/-- Copy of a `LinearMap` with a new `toFun` equal to the old one. Useful to fix definitional
@@ -253,7 +253,7 @@ theorem coe_copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) :
#align linear_map.coe_copy LinearMap.coe_copy
theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f.copy f' h = f :=
- FunLike.ext' h
+ DFunLike.ext' h
#align linear_map.copy_eq LinearMap.copy_eq
initialize_simps_projections LinearMap (toFun → apply)
@@ -319,21 +319,21 @@ theorem isLinear : IsLinearMap R fₗ :=
variable {fₗ gₗ f g σ}
-theorem coe_injective : Injective (FunLike.coe : (M →ₛₗ[σ] M₃) → _) :=
- FunLike.coe_injective
+theorem coe_injective : Injective (DFunLike.coe : (M →ₛₗ[σ] M₃) → _) :=
+ DFunLike.coe_injective
#align linear_map.coe_injective LinearMap.coe_injective
protected theorem congr_arg {x x' : M} : x = x' → f x = f x' :=
- FunLike.congr_arg f
+ DFunLike.congr_arg f
#align linear_map.congr_arg LinearMap.congr_arg
/-- If two linear maps are equal, they are equal at each point. -/
protected theorem congr_fun (h : f = g) (x : M) : f x = g x :=
- FunLike.congr_fun h x
+ DFunLike.congr_fun h x
#align linear_map.congr_fun LinearMap.congr_fun
theorem ext_iff : f = g ↔ ∀ x, f x = g x :=
- FunLike.ext_iff
+ DFunLike.ext_iff
#align linear_map.ext_iff LinearMap.ext_iff
@[simp]
@@ -519,7 +519,7 @@ end RestrictScalars
theorem toAddMonoidHom_injective :
Function.Injective (toAddMonoidHom : (M →ₛₗ[σ] M₃) → M →+ M₃) := fun fₗ gₗ h ↦
- ext <| (FunLike.congr_fun h : ∀ x, fₗ.toAddMonoidHom x = gₗ.toAddMonoidHom x)
+ ext <| (DFunLike.congr_fun h : ∀ x, fₗ.toAddMonoidHom x = gₗ.toAddMonoidHom x)
#align linear_map.to_add_monoid_hom_injective LinearMap.toAddMonoidHom_injective
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
@@ -955,7 +955,7 @@ theorem comp_add (f g : M →ₛₗ[σ₁₂] M₂) (h : M₂ →ₛₗ[σ₂₃
/-- The type of linear maps is an additive monoid. -/
instance addCommMonoid : AddCommMonoid (M →ₛₗ[σ₁₂] M₂) :=
- FunLike.coe_injective.addCommMonoid _ rfl (fun _ _ ↦ rfl) fun _ _ ↦ rfl
+ DFunLike.coe_injective.addCommMonoid _ rfl (fun _ _ ↦ rfl) fun _ _ ↦ rfl
/-- The negation of a linear map is linear. -/
instance : Neg (M →ₛₗ[σ₁₂] N₂) :=
@@ -1003,7 +1003,7 @@ theorem comp_sub (f g : M →ₛₗ[σ₁₂] N₂) (h : N₂ →ₛₗ[σ₂₃
/-- The type of linear maps is an additive group. -/
instance addCommGroup : AddCommGroup (M →ₛₗ[σ₁₂] N₂) :=
- FunLike.coe_injective.addCommGroup _ rfl (fun _ _ ↦ rfl) (fun _ ↦ rfl) (fun _ _ ↦ rfl)
+ DFunLike.coe_injective.addCommGroup _ rfl (fun _ _ ↦ rfl) (fun _ ↦ rfl) (fun _ _ ↦ rfl)
(fun _ _ ↦ rfl) fun _ _ ↦ rfl
end Arithmetic
Basis.smul
(#9382)
Add various LinearMap.CompatibleSMul
instances that ultimately lead to generalization of Basis.smul
to allow a noncommutative base ring. The key observations that allows the generalization are IsScalarTower.smulHomClass
and isScalarTower_of_injective
.
Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>
@@ -429,19 +429,39 @@ class CompatibleSMul (R S : Type*) [Semiring S] [SMul R M] [Module S M] [SMul R
variable {M M₂}
-instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type*} [Semiring S] [SMul R S]
- [SMul R M] [Module S M] [IsScalarTower R S M] [SMul R M₂] [Module S M₂] [IsScalarTower R S M₂] :
+section
+
+variable {R S : Type*} [Semiring S] [SMul R M] [Module S M] [SMul R M₂] [Module S M₂]
+
+instance (priority := 100) IsScalarTower.compatibleSMul [SMul R S]
+ [IsScalarTower R S M] [IsScalarTower R S M₂] :
CompatibleSMul M M₂ R S :=
⟨fun fₗ c x ↦ by rw [← smul_one_smul S c x, ← smul_one_smul S c (fₗ x), map_smul]⟩
#align linear_map.is_scalar_tower.compatible_smul LinearMap.IsScalarTower.compatibleSMul
+instance IsScalarTower.compatibleSMul' [SMul R S] [IsScalarTower R S M] :
+ CompatibleSMul S M R S where
+ __ := IsScalarTower.smulHomClass R S M (S →ₗ[S] M)
+
@[simp]
-theorem map_smul_of_tower {R S : Type*} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
- [Module S M₂] [CompatibleSMul M M₂ R S] (fₗ : M →ₗ[S] M₂) (c : R) (x : M) :
+theorem map_smul_of_tower [CompatibleSMul M M₂ R S] (fₗ : M →ₗ[S] M₂) (c : R) (x : M) :
fₗ (c • x) = c • fₗ x :=
CompatibleSMul.map_smul fₗ c x
#align linear_map.map_smul_of_tower LinearMap.map_smul_of_tower
+variable (R R) in
+theorem isScalarTower_of_injective [SMul R S] [CompatibleSMul M M₂ R S] [IsScalarTower R S M₂]
+ (f : M →ₗ[S] M₂) (hf : Function.Injective f) : IsScalarTower R S M where
+ smul_assoc r s _ := hf <| by rw [f.map_smul_of_tower r, map_smul, map_smul, smul_assoc]
+
+end
+
+variable (R) in
+theorem isLinearMap_of_compatibleSMul [Module S M] [Module S M₂] [CompatibleSMul M M₂ R S]
+ (f : M →ₗ[S] M₂) : IsLinearMap R f where
+ map_add := map_add f
+ map_smul := map_smul_of_tower f
+
/-- convert a linear map to an additive map -/
def toAddMonoidHom : M →+ M₃ where
toFun := f
cases x with | ...
instead of cases x; case => ...
(#9321)
This converts usages of the pattern
cases h
case inl h' => ...
case inr h' => ...
which derive from mathported code, to the "structured cases
" syntax:
cases h with
| inl h' => ...
| inr h' => ...
The case where the subgoals are handled with ·
instead of case
is more contentious (and much more numerous) so I left those alone. This pattern also appears with cases'
, induction
, induction'
, and rcases
. Furthermore, there is a similar transformation for by_cases
:
by_cases h : cond
case pos => ...
case neg => ...
is replaced by:
if h : cond then
...
else
...
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
@@ -645,10 +645,10 @@ protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
instance CompatibleSMul.intModule {S : Type*} [Semiring S] [Module S M] [Module S M₂] :
CompatibleSMul M M₂ ℤ S :=
⟨fun fₗ c x ↦ by
- induction c using Int.induction_on
- case hz => simp
- case hp n ih => simp [add_smul, ih]
- case hn n ih => simp [sub_smul, ih]⟩
+ induction c using Int.induction_on with
+ | hz => simp
+ | hp n ih => simp [add_smul, ih]
+ | hn n ih => simp [sub_smul, ih]⟩
#align linear_map.compatible_smul.int_module LinearMap.CompatibleSMul.intModule
instance CompatibleSMul.units {R S : Type*} [Monoid R] [MulAction R M] [MulAction R M₂]
A collection of loosely-related lemmas, split out from other work in the hopes of simplifying review.
@@ -1375,6 +1375,22 @@ theorem smulRight_apply (f : M₁ →ₗ[R] S) (x : M) (c : M₁) : smulRight f
rfl
#align linear_map.smul_right_apply LinearMap.smulRight_apply
+@[simp]
+lemma smulRight_zero (f : M₁ →ₗ[R] S) : f.smulRight (0 : M) = 0 := by ext; simp
+
+@[simp]
+lemma zero_smulRight (x : M) : (0 : M₁ →ₗ[R] S).smulRight x = 0 := by ext; simp
+
+@[simp]
+lemma smulRight_apply_eq_zero_iff {f : M₁ →ₗ[R] S} {x : M} [NoZeroSMulDivisors S M] :
+ f.smulRight x = 0 ↔ f = 0 ∨ x = 0 := by
+ rcases eq_or_ne x 0 with rfl | hx; simp
+ refine ⟨fun h ↦ Or.inl ?_, fun h ↦ by simp [h.resolve_right hx]⟩
+ ext v
+ replace h : f v • x = 0 := by simpa only [LinearMap.zero_apply] using LinearMap.congr_fun h v
+ rw [smul_eq_zero] at h
+ tauto
+
end SMulRight
end AddCommMonoid
notation3
for composition notation (#8847)
This means that comp
is printed with this notation in the goal view.
@@ -550,12 +550,11 @@ def comp : M₁ →ₛₗ[σ₁₃] M₃ where
map_smul' r x := by simp only [Function.comp_apply, map_smulₛₗ, RingHomCompTriple.comp_apply]
#align linear_map.comp LinearMap.comp
-set_option quotPrecheck false in -- Porting note: error message suggested to do this
/-- `∘ₗ` is notation for composition of two linear (not semilinear!) maps into a linear map.
This is useful when Lean is struggling to infer the `RingHomCompTriple` instance. -/
-infixr:80 " ∘ₗ " =>
+notation3:80 (name := compNotation) f:81 " ∘ₗ " g:80 =>
@LinearMap.comp _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ (RingHom.id _) (RingHom.id _) (RingHom.id _)
- RingHomCompTriple.ids
+ RingHomCompTriple.ids f g
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
Prove that extreme points are preserved under affine equivalences, and the less trivial statement that a continuous affine map sends extreme points of a compact set to a superset of the extreme points of the image of that set.
Also fix a few name and tweak the API a bit.
Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>
@@ -62,10 +62,7 @@ open Function
universe u u' v w x y z
-variable {R : Type*} {R₁ : Type*} {R₂ : Type*} {R₃ : Type*}
-variable {k : Type*} {S : Type*} {S₃ : Type*} {T : Type*}
-variable {M : Type*} {M₁ : Type*} {M₂ : Type*} {M₃ : Type*}
-variable {N₁ : Type*} {N₂ : Type*} {N₃ : Type*} {ι : Type*}
+variable {R R₁ R₂ R₃ k S S₃ T M M₁ M₂ M₃ N₁ N₂ N₃ ι : Type*}
/-- A map `f` between modules over a semiring is linear if it satisfies the two properties
`f (x + y) = f x + f y` and `f (c • x) = c • f x`. The predicate `IsLinearMap R f` asserts this
@@ -87,7 +84,7 @@ is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`M →ₛₗ[σ] M₂`) are bundled versions of such maps. For plain linear maps (i.e. for which
`σ = RingHom.id R`), the notation `M →ₗ[R] M₂` is available. An unbundled version of plain linear
maps is available with the predicate `IsLinearMap`, but it should be avoided most of the time. -/
-structure LinearMap {R : Type*} {S : Type*} [Semiring R] [Semiring S] (σ : R →+* S) (M : Type*)
+structure LinearMap {R S : Type*} [Semiring R] [Semiring S] (σ : R →+* S) (M : Type*)
(M₂ : Type*) [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module S M₂] extends
AddHom M M₂ where
/-- A linear map preserves scalar multiplication.
@@ -150,7 +147,6 @@ namespace SemilinearMapClass
variable (F : Type*)
variable [Semiring R] [Semiring S]
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
-variable [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N₃]
variable [Module R M] [Module R M₂] [Module S M₃]
variable {σ : R →+* S}
@@ -174,8 +170,23 @@ theorem map_smul_inv {σ' : S →+* R} [RingHomInvPair σ σ'] (c : S) (x : M) :
c • f x = f (σ' c • x) := by simp
#align semilinear_map_class.map_smul_inv SemilinearMapClass.map_smul_inv
+/-- Reinterpret an element of a type of semilinear maps as a semilinear map. -/
+abbrev semilinearMap : M →ₛₗ[σ] M₃ where
+ toFun := f
+ map_add' := map_add f
+ map_smul' := map_smulₛₗ f
+
end SemilinearMapClass
+namespace LinearMapClass
+variable {F : Type*} [Semiring R] [AddCommMonoid M₁] [AddCommMonoid M₂] [Module R M₁] [Module R M₂]
+ (f : F) [LinearMapClass F R M₁ M₂]
+
+/-- Reinterpret an element of a type of linear maps as a linear map. -/
+abbrev linearMap : M₁ →ₗ[R] M₂ := SemilinearMapClass.semilinearMap f
+
+end LinearMapClass
+
namespace LinearMap
section AddCommMonoid
@@ -566,7 +577,7 @@ theorem id_comp : id.comp f = f :=
#align linear_map.id_comp LinearMap.id_comp
theorem comp_assoc
- {R₄ : Type*} {M₄ : Type*} [Semiring R₄] [AddCommMonoid M₄] [Module R₄ M₄]
+ {R₄ M₄ : Type*} [Semiring R₄] [AddCommMonoid M₄] [Module R₄ M₄]
{σ₃₄ : R₃ →+* R₄} {σ₂₄ : R₂ →+* R₄} {σ₁₄ : R₁ →+* R₄}
[RingHomCompTriple σ₂₃ σ₃₄ σ₂₄] [RingHomCompTriple σ₁₃ σ₃₄ σ₁₄] [RingHomCompTriple σ₁₂ σ₂₄ σ₁₄]
(f : M₁ →ₛₗ[σ₁₂] M₂) (g : M₂ →ₛₗ[σ₂₃] M₃) (h : M₃ →ₛₗ[σ₃₄] M₄) :
This reduces the file from ~2600 lines to ~1600 lines.
Co-authored-by: Vierkantor <vierkantor@vierkantor.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>
@@ -1338,3 +1338,115 @@ theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
#align module.End.int_cast_def Module.End.intCast_def
end Module
+
+namespace LinearMap
+
+section AddCommMonoid
+
+section SMulRight
+
+variable [Semiring R] [Semiring R₂] [AddCommMonoid M] [AddCommMonoid M₁] [Module R M] [Module R M₁]
+variable [Semiring S] [Module R S] [Module S M] [IsScalarTower R S M]
+
+/-- When `f` is an `R`-linear map taking values in `S`, then `fun ↦ b, f b • x` is an `R`-linear
+map. -/
+def smulRight (f : M₁ →ₗ[R] S) (x : M) : M₁ →ₗ[R] M where
+ toFun b := f b • x
+ map_add' x y := by dsimp only; rw [f.map_add, add_smul]
+ map_smul' b y := by dsimp; rw [map_smul, smul_assoc]
+#align linear_map.smul_right LinearMap.smulRight
+
+@[simp]
+theorem coe_smulRight (f : M₁ →ₗ[R] S) (x : M) : (smulRight f x : M₁ → M) = fun c => f c • x :=
+ rfl
+#align linear_map.coe_smul_right LinearMap.coe_smulRight
+
+theorem smulRight_apply (f : M₁ →ₗ[R] S) (x : M) (c : M₁) : smulRight f x c = f c • x :=
+ rfl
+#align linear_map.smul_right_apply LinearMap.smulRight_apply
+
+end SMulRight
+
+end AddCommMonoid
+
+section Module
+
+variable [Semiring R] [Semiring S] [AddCommMonoid M] [AddCommMonoid M₂]
+variable [Module R M] [Module R M₂] [Module S M₂] [SMulCommClass R S M₂]
+
+variable (S)
+
+/-- Applying a linear map at `v : M`, seen as `S`-linear map from `M →ₗ[R] M₂` to `M₂`.
+
+ See `LinearMap.applyₗ` for a version where `S = R`. -/
+@[simps]
+def applyₗ' : M →+ (M →ₗ[R] M₂) →ₗ[S] M₂ where
+ toFun v :=
+ { toFun := fun f => f v
+ map_add' := fun f g => f.add_apply g v
+ map_smul' := fun x f => f.smul_apply x v }
+ map_zero' := LinearMap.ext fun f => f.map_zero
+ map_add' _ _ := LinearMap.ext fun f => f.map_add _ _
+#align linear_map.applyₗ' LinearMap.applyₗ'
+
+end Module
+
+section CommSemiring
+
+variable [CommSemiring R] [AddCommMonoid M] [AddCommMonoid M₂] [AddCommMonoid M₃]
+variable [Module R M] [Module R M₂] [Module R M₃]
+variable (f g : M →ₗ[R] M₂)
+
+/-- Composition by `f : M₂ → M₃` is a linear map from the space of linear maps `M → M₂`
+to the space of linear maps `M₂ → M₃`. -/
+def compRight (f : M₂ →ₗ[R] M₃) : (M →ₗ[R] M₂) →ₗ[R] M →ₗ[R] M₃ where
+ toFun := f.comp
+ map_add' _ _ := LinearMap.ext fun _ => map_add f _ _
+ map_smul' _ _ := LinearMap.ext fun _ => map_smul f _ _
+#align linear_map.comp_right LinearMap.compRight
+
+@[simp]
+theorem compRight_apply (f : M₂ →ₗ[R] M₃) (g : M →ₗ[R] M₂) : compRight f g = f.comp g :=
+ rfl
+#align linear_map.comp_right_apply LinearMap.compRight_apply
+
+/-- Applying a linear map at `v : M`, seen as a linear map from `M →ₗ[R] M₂` to `M₂`.
+See also `LinearMap.applyₗ'` for a version that works with two different semirings.
+
+This is the `LinearMap` version of `toAddMonoidHom.eval`. -/
+@[simps]
+def applyₗ : M →ₗ[R] (M →ₗ[R] M₂) →ₗ[R] M₂ :=
+ { applyₗ' R with
+ toFun := fun v => { applyₗ' R v with toFun := fun f => f v }
+ map_smul' := fun _ _ => LinearMap.ext fun f => map_smul f _ _ }
+#align linear_map.applyₗ LinearMap.applyₗ
+
+/--
+The family of linear maps `M₂ → M` parameterised by `f ∈ M₂ → R`, `x ∈ M`, is linear in `f`, `x`.
+-/
+def smulRightₗ : (M₂ →ₗ[R] R) →ₗ[R] M →ₗ[R] M₂ →ₗ[R] M where
+ toFun f :=
+ { toFun := LinearMap.smulRight f
+ map_add' := fun m m' => by
+ ext
+ apply smul_add
+ map_smul' := fun c m => by
+ ext
+ apply smul_comm }
+ map_add' f f' := by
+ ext
+ apply add_smul
+ map_smul' c f := by
+ ext
+ apply mul_smul
+#align linear_map.smul_rightₗ LinearMap.smulRightₗ
+
+@[simp]
+theorem smulRightₗ_apply (f : M₂ →ₗ[R] R) (x : M) (c : M₂) :
+ (smulRightₗ : (M₂ →ₗ[R] R) →ₗ[R] M →ₗ[R] M₂ →ₗ[R] M) f x c = f c • x :=
+ rfl
+#align linear_map.smul_rightₗ_apply LinearMap.smulRightₗ_apply
+
+end CommSemiring
+
+end LinearMap
@@ -1093,6 +1093,11 @@ theorem _root_.Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R
rfl
#align module.End.nat_cast_apply Module.End.natCast_apply
+@[simp]
+theorem _root_.Module.End.ofNat_apply (n : ℕ) [n.AtLeastTwo] (m : M) :
+ (no_index (OfNat.ofNat n) : Module.End R M) m = OfNat.ofNat n • m :=
+ rfl
+
instance _root_.Module.End.ring : Ring (Module.End R N₁) :=
{ Module.End.semiring, LinearMap.addCommGroup with
intCast := fun z ↦ z • (1 : N₁ →ₗ[R] N₁)
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
@@ -4,11 +4,11 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen,
Frédéric Dupuis, Heather Macbeth
-/
-import Mathlib.Algebra.Hom.GroupAction
import Mathlib.Algebra.Module.Pi
+import Mathlib.Algebra.Ring.CompTypeclasses
import Mathlib.Algebra.Star.Basic
import Mathlib.Data.Set.Pointwise.SMul
-import Mathlib.Algebra.Ring.CompTypeclasses
+import Mathlib.GroupTheory.GroupAction.Hom
#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
@@ -576,14 +576,24 @@ theorem comp_assoc
variable {f g} {f' : M₂ →ₛₗ[σ₂₃] M₃} {g' : M₁ →ₛₗ[σ₁₂] M₂}
+/-- The linear map version of `Function.Surjective.injective_comp_right` -/
+lemma _root_.Function.Surjective.injective_linearMapComp_right (hg : Surjective g) :
+ Injective fun f : M₂ →ₛₗ[σ₂₃] M₃ ↦ f.comp g :=
+ fun _ _ h ↦ ext <| hg.forall.2 (ext_iff.1 h)
+
@[simp]
-theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
- ⟨fun h ↦ ext <| hg.forall.2 (ext_iff.1 h), fun h ↦ h ▸ rfl⟩
+theorem cancel_right (hg : Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
+ hg.injective_linearMapComp_right.eq_iff
#align linear_map.cancel_right LinearMap.cancel_right
+/-- The linear map version of `Function.Injective.comp_left` -/
+lemma _root_.Function.Injective.injective_linearMapComp_left (hf : Injective f) :
+ Injective fun g : M₁ →ₛₗ[σ₁₂] M₂ ↦ f.comp g :=
+ fun g₁ g₂ (h : f.comp g₁ = f.comp g₂) ↦ ext fun x ↦ hf <| by rw [← comp_apply, h, comp_apply]
+
@[simp]
-theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
- ⟨fun h ↦ ext fun x ↦ hf <| by rw [← comp_apply, h, comp_apply], fun h ↦ h ▸ rfl⟩
+theorem cancel_left (hf : Injective f) : f.comp g = f.comp g' ↔ g = g' :=
+ hf.injective_linearMapComp_left.eq_iff
#align linear_map.cancel_left LinearMap.cancel_left
end
@@ -565,6 +565,15 @@ theorem id_comp : id.comp f = f :=
LinearMap.ext fun _ ↦ rfl
#align linear_map.id_comp LinearMap.id_comp
+theorem comp_assoc
+ {R₄ : Type*} {M₄ : Type*} [Semiring R₄] [AddCommMonoid M₄] [Module R₄ M₄]
+ {σ₃₄ : R₃ →+* R₄} {σ₂₄ : R₂ →+* R₄} {σ₁₄ : R₁ →+* R₄}
+ [RingHomCompTriple σ₂₃ σ₃₄ σ₂₄] [RingHomCompTriple σ₁₃ σ₃₄ σ₁₄] [RingHomCompTriple σ₁₂ σ₂₄ σ₁₄]
+ (f : M₁ →ₛₗ[σ₁₂] M₂) (g : M₂ →ₛₗ[σ₂₃] M₃) (h : M₃ →ₛₗ[σ₃₄] M₄) :
+ ((h.comp g : M₂ →ₛₗ[σ₂₄] M₄).comp f : M₁ →ₛₗ[σ₁₄] M₄) = h.comp (g.comp f : M₁ →ₛₗ[σ₁₃] M₃) :=
+ rfl
+#align linear_map.comp_assoc LinearMap.comp_assoc
+
variable {f g} {f' : M₂ →ₛₗ[σ₂₃] M₃} {g' : M₁ →ₛₗ[σ₁₂] M₂}
@[simp]
@@ -1010,8 +1019,6 @@ end Actions
/-!
### Monoid structure of endomorphisms
-
-Lemmas about `pow` such as `LinearMap.pow_apply` appear in later files.
-/
@@ -1120,6 +1127,70 @@ theorem _root_.Module.End_isUnit_inv_apply_apply_of_isUnit
(by simp : (h.unit.inv * f) x = x)
#align module.End_is_unit_inv_apply_apply_of_is_unit Module.End_isUnit_inv_apply_apply_of_isUnit
+theorem coe_pow (f : M →ₗ[R] M) (n : ℕ) : ⇑(f ^ n) = f^[n] := hom_coe_pow _ rfl (fun _ _ ↦ rfl) _ _
+#align linear_map.coe_pow LinearMap.coe_pow
+
+theorem pow_apply (f : M →ₗ[R] M) (n : ℕ) (m : M) : (f ^ n) m = f^[n] m := congr_fun (coe_pow f n) m
+#align linear_map.pow_apply LinearMap.pow_apply
+
+theorem pow_map_zero_of_le {f : Module.End R M} {m : M} {k l : ℕ} (hk : k ≤ l)
+ (hm : (f ^ k) m = 0) : (f ^ l) m = 0 := by
+ rw [← tsub_add_cancel_of_le hk, pow_add, mul_apply, hm, map_zero]
+#align linear_map.pow_map_zero_of_le LinearMap.pow_map_zero_of_le
+
+theorem commute_pow_left_of_commute
+ [Semiring R₂] [AddCommMonoid M₂] [Module R₂ M₂] {σ₁₂ : R →+* R₂}
+ {f : M →ₛₗ[σ₁₂] M₂} {g : Module.End R M} {g₂ : Module.End R₂ M₂}
+ (h : g₂.comp f = f.comp g) (k : ℕ) : (g₂ ^ k).comp f = f.comp (g ^ k) := by
+ induction' k with k ih
+ · simp only [Nat.zero_eq, pow_zero, one_eq_id, id_comp, comp_id]
+ · rw [pow_succ, pow_succ, LinearMap.mul_eq_comp, LinearMap.comp_assoc, ih, ← LinearMap.comp_assoc,
+ h, LinearMap.comp_assoc, LinearMap.mul_eq_comp]
+#align linear_map.commute_pow_left_of_commute LinearMap.commute_pow_left_of_commute
+
+@[simp]
+theorem id_pow (n : ℕ) : (id : M →ₗ[R] M) ^ n = id :=
+ one_pow n
+#align linear_map.id_pow LinearMap.id_pow
+
+variable {f' : M →ₗ[R] M}
+
+theorem iterate_succ (n : ℕ) : f' ^ (n + 1) = comp (f' ^ n) f' := by rw [pow_succ', mul_eq_comp]
+#align linear_map.iterate_succ LinearMap.iterate_succ
+
+theorem iterate_surjective (h : Surjective f') : ∀ n : ℕ, Surjective (f' ^ n)
+ | 0 => surjective_id
+ | n + 1 => by
+ rw [iterate_succ]
+ exact (iterate_surjective h n).comp h
+#align linear_map.iterate_surjective LinearMap.iterate_surjective
+
+theorem iterate_injective (h : Injective f') : ∀ n : ℕ, Injective (f' ^ n)
+ | 0 => injective_id
+ | n + 1 => by
+ rw [iterate_succ]
+ exact (iterate_injective h n).comp h
+#align linear_map.iterate_injective LinearMap.iterate_injective
+
+theorem iterate_bijective (h : Bijective f') : ∀ n : ℕ, Bijective (f' ^ n)
+ | 0 => bijective_id
+ | n + 1 => by
+ rw [iterate_succ]
+ exact (iterate_bijective h n).comp h
+#align linear_map.iterate_bijective LinearMap.iterate_bijective
+
+theorem injective_of_iterate_injective {n : ℕ} (hn : n ≠ 0) (h : Injective (f' ^ n)) :
+ Injective f' := by
+ rw [← Nat.succ_pred_eq_of_pos (pos_iff_ne_zero.mpr hn), iterate_succ, coe_comp] at h
+ exact h.of_comp
+#align linear_map.injective_of_iterate_injective LinearMap.injective_of_iterate_injective
+
+theorem surjective_of_iterate_surjective {n : ℕ} (hn : n ≠ 0) (h : Surjective (f' ^ n)) :
+ Surjective f' := by
+ rw [← Nat.succ_pred_eq_of_pos (pos_iff_ne_zero.mpr hn), pow_succ, coe_mul] at h
+ exact Surjective.of_comp h
+#align linear_map.surjective_of_iterate_surjective LinearMap.surjective_of_iterate_surjective
+
end
/-! ### Action by a module endomorphism. -/
This removes redundant field values of the form add := add
for smaller terms and less unfolding during unification.
A list of all files containing a structure instance of the form { a1, ... with x1 := val, ... }
where some xi
is a field of some aj
was generated by modifying the structure instance elaboration algorithm to print such overlaps to stdout in a custom toolchain.
Using that toolchain, I went through each file on the list and attempted to remove algebraic fields that overlapped and were redundant, eg add := add
and not toFun
(though some other ones did creep in). If things broke (which was the case in a couple of cases), I did not push further and reverted.
It is possible that pushing harder and trying to remove all redundant overlaps will yield further improvements.
@@ -158,7 +158,6 @@ variable {σ : R →+* S}
instance (priority := 100) addMonoidHomClass [SemilinearMapClass F σ M M₃] :
AddMonoidHomClass F M M₃ :=
{ SemilinearMapClass.toAddHomClass with
- coe := fun f ↦ (f : M → M₃)
map_zero := fun f ↦
show f 0 = 0 by
rw [← zero_smul R (0 : M), map_smulₛₗ]
@@ -167,7 +166,6 @@ instance (priority := 100) addMonoidHomClass [SemilinearMapClass F σ M M₃] :
instance (priority := 100) distribMulActionHomClass [LinearMapClass F R M M₂] :
DistribMulActionHomClass F R M M₂ :=
{ SemilinearMapClass.addMonoidHomClass F with
- coe := fun f ↦ (f : M → M₂)
map_smul := fun f c x ↦ by rw [map_smulₛₗ, RingHom.id_apply] }
variable {F} (f : F) [i : SemilinearMapClass F σ M M₃]
@@ -263,7 +261,7 @@ theorem coe_addHom_mk {σ : R →+* S} (f : AddHom M M₃) (h) :
/-- Identity map as a `LinearMap` -/
def id : M →ₗ[R] M :=
- { DistribMulActionHom.id R with toFun := _root_.id }
+ { DistribMulActionHom.id R with }
#align linear_map.id LinearMap.id
theorem id_apply (x : M) : @id R M _ _ _ x = x :=
@@ -521,7 +519,6 @@ end
@[simps]
def _root_.RingHom.toSemilinearMap (f : R →+* S) : R →ₛₗ[f] S :=
{ f with
- toFun := f
map_smul' := f.map_mul }
#align ring_hom.to_semilinear_map RingHom.toSemilinearMap
#align ring_hom.to_semilinear_map_apply RingHom.toSemilinearMap_apply
@@ -1064,10 +1061,6 @@ instance _root_.Module.End.monoid : Monoid (Module.End R M) where
instance _root_.Module.End.semiring : Semiring (Module.End R M) :=
{ AddMonoidWithOne.unary, Module.End.monoid, LinearMap.addCommMonoid with
- mul := (· * ·)
- one := (1 : M →ₗ[R] M)
- zero := (0 : M →ₗ[R] M)
- add := (· + ·)
mul_zero := comp_zero
zero_mul := zero_comp
left_distrib := fun _ _ _ ↦ comp_add _ _ _
@@ -1085,10 +1078,6 @@ theorem _root_.Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R
instance _root_.Module.End.ring : Ring (Module.End R N₁) :=
{ Module.End.semiring, LinearMap.addCommGroup with
- mul := (· * ·)
- one := (1 : N₁ →ₗ[R] N₁)
- zero := (0 : N₁ →ₗ[R] N₁)
- add := (· + ·)
intCast := fun z ↦ z • (1 : N₁ →ₗ[R] N₁)
intCast_ofNat := ofNat_zsmul _
intCast_negSucc := negSucc_zsmul _ }
protected
(#7150)
Pretty much all these fields are implementation details, and not intended as API. There is no point in open MonoidHom
bringing toFun
or map_mul'
into the environment, as neither are the preferred way to spell those things.
@@ -92,7 +92,7 @@ structure LinearMap {R : Type*} {S : Type*} [Semiring R] [Semiring S] (σ : R
AddHom M M₂ where
/-- A linear map preserves scalar multiplication.
We prefer the spelling `_root_.map_smul` instead. -/
- map_smul' : ∀ (r : R) (x : M), toFun (r • x) = σ r • toFun x
+ protected map_smul' : ∀ (r : R) (x : M), toFun (r • x) = σ r • toFun x
#align linear_map LinearMap
/-- The `AddHom` underlying a `LinearMap`. -/
@@ -1159,12 +1159,12 @@ instance apply_faithfulSMul : FaithfulSMul (Module.End R M) M :=
⟨LinearMap.ext⟩
#align linear_map.apply_has_faithful_smul LinearMap.apply_faithfulSMul
-instance apply_smulCommClass : SMulCommClass R (Module.End R M) M
- where smul_comm r e m := (e.map_smul r m).symm
+instance apply_smulCommClass : SMulCommClass R (Module.End R M) M where
+ smul_comm r e m := (e.map_smul r m).symm
#align linear_map.apply_smul_comm_class LinearMap.apply_smulCommClass
-instance apply_smulCommClass' : SMulCommClass (Module.End R M) R M
- where smul_comm := LinearMap.map_smul
+instance apply_smulCommClass' : SMulCommClass (Module.End R M) R M where
+ smul_comm := LinearMap.map_smul
#align linear_map.apply_smul_comm_class' LinearMap.apply_smulCommClass'
instance apply_isScalarTower {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] :
We do not want AlgHom
to cast to LinearMap
via the rarely-used DistribMulActionHom
.
The only places this was used are:
AlgHom.toLinearMap
(for which lemmas already exist)We could consider adding a LinearMapClass.toLinearMap
coercion in a future PR, but I would guess this is just unification hell compared to AlgHom.toLinearMap
, so I don't want to volunteer to do it.
@@ -659,7 +659,7 @@ def toLinearMap (fₗ : M →+[R] M₂) : M →ₗ[R] M₂ :=
{ fₗ with }
#align distrib_mul_action_hom.to_linear_map DistribMulActionHom.toLinearMap
-instance : Coe (M →+[R] M₂) (M →ₗ[R] M₂) :=
+instance : CoeTC (M →+[R] M₂) (M →ₗ[R] M₂) :=
⟨toLinearMap⟩
-- Porting note: because coercions get unfolded, there is no need for this rewrite
@@ -570,10 +570,12 @@ theorem id_comp : id.comp f = f :=
variable {f g} {f' : M₂ →ₛₗ[σ₂₃] M₃} {g' : M₁ →ₛₗ[σ₁₂] M₂}
+@[simp]
theorem cancel_right (hg : Function.Surjective g) : f.comp g = f'.comp g ↔ f = f' :=
⟨fun h ↦ ext <| hg.forall.2 (ext_iff.1 h), fun h ↦ h ▸ rfl⟩
#align linear_map.cancel_right LinearMap.cancel_right
+@[simp]
theorem cancel_left (hf : Function.Injective f) : f.comp g = f.comp g' ↔ g = g' :=
⟨fun h ↦ ext fun x ↦ hf <| by rw [← comp_apply, h, comp_apply], fun h ↦ h ▸ rfl⟩
#align linear_map.cancel_left LinearMap.cancel_left
This is extracted from the draft PR https://github.com/leanprover-community/mathlib4/pull/4116 which tries to compare this definition with the definition in terms of a presheaf in RingMod
.
Co-authored-by: Oliver Nash <github@olivernash.org> Co-authored-by: Christopher Hoskin <christopher.hoskin@gmail.com> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Anatole Dedecker <anatolededecker@gmail.com> Co-authored-by: Matthew Robert Ballard <k.buzzard@imperial.ac.uk> Co-authored-by: Peter Nelson <71660771+apnelson1@users.noreply.github.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Rémy Degenne <remydegenne@gmail.com> Co-authored-by: Thomas Browning <tb65536@uw.edu> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Robert Ballard <matt@mrb.email> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Yury G. Kudryashov <urkud@urkud.name> Co-authored-by: Arend Mellendijk <arend.mellendijk@gmail.com> Co-authored-by: Markus Himmel <markus@himmel-villmar.de> Co-authored-by: Christopher Hoskin <christopher.hoskin@overleaf.com> Co-authored-by: Bulhwi Cha <chabulhwi@semmalgil.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com> Co-authored-by: negiizhao <egresf@gmail.com> Co-authored-by: Alex J Best <alex.j.best@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: Chris Hughes <chrishughes24@gmail.com> Co-authored-by: Jz Pan <acme_pjz@hotmail.com>
@@ -275,6 +275,21 @@ theorem id_coe : ((LinearMap.id : M →ₗ[R] M) : M → M) = _root_.id :=
rfl
#align linear_map.id_coe LinearMap.id_coe
+/-- A generalisation of `LinearMap.id` that constructs the identity function
+as a `σ`-semilinear map for any ring homomorphism `σ` which we know is the identity. -/
+@[simps]
+def id' {σ : R →+* R} [RingHomId σ] : M →ₛₗ[σ] M where
+ toFun x := x
+ map_add' x y := rfl
+ map_smul' r x := by
+ have := (RingHomId.eq_id : σ = _)
+ subst this
+ rfl
+
+@[simp, norm_cast]
+theorem id'_coe {σ : R →+* R} [RingHomId σ] : ((id' : M →ₛₗ[σ] M) : M → M) = _root_.id :=
+ rfl
+
end
section
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -62,10 +62,10 @@ open Function
universe u u' v w x y z
-variable {R : Type _} {R₁ : Type _} {R₂ : Type _} {R₃ : Type _}
-variable {k : Type _} {S : Type _} {S₃ : Type _} {T : Type _}
-variable {M : Type _} {M₁ : Type _} {M₂ : Type _} {M₃ : Type _}
-variable {N₁ : Type _} {N₂ : Type _} {N₃ : Type _} {ι : Type _}
+variable {R : Type*} {R₁ : Type*} {R₂ : Type*} {R₃ : Type*}
+variable {k : Type*} {S : Type*} {S₃ : Type*} {T : Type*}
+variable {M : Type*} {M₁ : Type*} {M₂ : Type*} {M₃ : Type*}
+variable {N₁ : Type*} {N₂ : Type*} {N₃ : Type*} {ι : Type*}
/-- A map `f` between modules over a semiring is linear if it satisfies the two properties
`f (x + y) = f x + f y` and `f (c • x) = c • f x`. The predicate `IsLinearMap R f` asserts this
@@ -87,8 +87,8 @@ is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`M →ₛₗ[σ] M₂`) are bundled versions of such maps. For plain linear maps (i.e. for which
`σ = RingHom.id R`), the notation `M →ₗ[R] M₂` is available. An unbundled version of plain linear
maps is available with the predicate `IsLinearMap`, but it should be avoided most of the time. -/
-structure LinearMap {R : Type _} {S : Type _} [Semiring R] [Semiring S] (σ : R →+* S) (M : Type _)
- (M₂ : Type _) [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module S M₂] extends
+structure LinearMap {R : Type*} {S : Type*} [Semiring R] [Semiring S] (σ : R →+* S) (M : Type*)
+ (M₂ : Type*) [AddCommMonoid M] [AddCommMonoid M₂] [Module R M] [Module S M₂] extends
AddHom M M₂ where
/-- A linear map preserves scalar multiplication.
We prefer the spelling `_root_.map_smul` instead. -/
@@ -118,8 +118,8 @@ See also `LinearMapClass F R M M₂` for the case where `σ` is the identity map
A map `f` between an `R`-module and an `S`-module over a ring homomorphism `σ : R →+* S`
is semilinear if it satisfies the two properties `f (x + y) = f x + f y` and
`f (c • x) = (σ c) • f x`. -/
-class SemilinearMapClass (F : Type _) {R S : outParam (Type _)} [Semiring R] [Semiring S]
- (σ : outParam (R →+* S)) (M M₂ : outParam (Type _)) [AddCommMonoid M] [AddCommMonoid M₂]
+class SemilinearMapClass (F : Type*) {R S : outParam (Type*)} [Semiring R] [Semiring S]
+ (σ : outParam (R →+* S)) (M M₂ : outParam (Type*)) [AddCommMonoid M] [AddCommMonoid M₂]
[Module R M] [Module S M₂] extends AddHomClass F M M₂ where
/-- A semilinear map preserves scalar multiplication up to some ring homomorphism `σ`.
See also `_root_.map_smul` for the case where `σ` is the identity. -/
@@ -140,14 +140,14 @@ attribute [simp] map_smulₛₗ
This is an abbreviation for `SemilinearMapClass F (RingHom.id R) M M₂`.
-/
-abbrev LinearMapClass (F : Type _) (R M M₂ : outParam (Type _)) [Semiring R] [AddCommMonoid M]
+abbrev LinearMapClass (F : Type*) (R M M₂ : outParam (Type*)) [Semiring R] [AddCommMonoid M]
[AddCommMonoid M₂] [Module R M] [Module R M₂] :=
SemilinearMapClass F (RingHom.id R) M M₂
#align linear_map_class LinearMapClass
namespace SemilinearMapClass
-variable (F : Type _)
+variable (F : Type*)
variable [Semiring R] [Semiring S]
variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
variable [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N₃]
@@ -351,7 +351,7 @@ section Pointwise
open Pointwise
-variable (M M₃ σ) {F : Type _} (h : F)
+variable (M M₃ σ) {F : Type*} (h : F)
@[simp]
theorem _root_.image_smul_setₛₗ [SemilinearMapClass F σ M M₃] (c : R) (s : Set M) :
@@ -397,7 +397,7 @@ This typeclass is generated automatically from an `IsScalarTower` instance, but
we can also add an instance for `AddCommGroup.intModule`, allowing `z •` to be moved even if
`R` does not support negation.
-/
-class CompatibleSMul (R S : Type _) [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
+class CompatibleSMul (R S : Type*) [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
[Module S M₂] : Prop where
/-- Scalar multiplication by `R` of `M` can be moved through linear maps. -/
map_smul : ∀ (fₗ : M →ₗ[S] M₂) (c : R) (x : M), fₗ (c • x) = c • fₗ x
@@ -405,14 +405,14 @@ class CompatibleSMul (R S : Type _) [Semiring S] [SMul R M] [Module S M] [SMul R
variable {M M₂}
-instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type _} [Semiring S] [SMul R S]
+instance (priority := 100) IsScalarTower.compatibleSMul {R S : Type*} [Semiring S] [SMul R S]
[SMul R M] [Module S M] [IsScalarTower R S M] [SMul R M₂] [Module S M₂] [IsScalarTower R S M₂] :
CompatibleSMul M M₂ R S :=
⟨fun fₗ c x ↦ by rw [← smul_one_smul S c x, ← smul_one_smul S c (fₗ x), map_smul]⟩
#align linear_map.is_scalar_tower.compatible_smul LinearMap.IsScalarTower.compatibleSMul
@[simp]
-theorem map_smul_of_tower {R S : Type _} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
+theorem map_smul_of_tower {R S : Type*} [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
[Module S M₂] [CompatibleSMul M M₂ R S] (fₗ : M →ₗ[S] M₂) (c : R) (x : M) :
fₗ (c • x) = c • fₗ x :=
CompatibleSMul.map_smul fₗ c x
@@ -599,7 +599,7 @@ protected theorem map_sub (x y : M) : f (x - y) = f x - f y :=
map_sub f x y
#align linear_map.map_sub LinearMap.map_sub
-instance CompatibleSMul.intModule {S : Type _} [Semiring S] [Module S M] [Module S M₂] :
+instance CompatibleSMul.intModule {S : Type*} [Semiring S] [Module S M] [Module S M₂] :
CompatibleSMul M M₂ ℤ S :=
⟨fun fₗ c x ↦ by
induction c using Int.induction_on
@@ -608,7 +608,7 @@ instance CompatibleSMul.intModule {S : Type _} [Semiring S] [Module S M] [Module
case hn n ih => simp [sub_smul, ih]⟩
#align linear_map.compatible_smul.int_module LinearMap.CompatibleSMul.intModule
-instance CompatibleSMul.units {R S : Type _} [Monoid R] [MulAction R M] [MulAction R M₂]
+instance CompatibleSMul.units {R S : Type*} [Monoid R] [MulAction R M] [MulAction R M₂]
[Semiring S] [Module S M] [Module S M₂] [CompatibleSMul M M₂ R S] : CompatibleSMul M M₂ Rˣ S :=
⟨fun fₗ c x ↦ (CompatibleSMul.map_smul fₗ (c : R) x : _)⟩
#align linear_map.compatible_smul.units LinearMap.CompatibleSMul.units
@@ -621,7 +621,7 @@ namespace Module
/-- `g : R →+* S` is `R`-linear when the module structure on `S` is `Module.compHom S g` . -/
@[simps]
-def compHom.toLinearMap {R S : Type _} [Semiring R] [Semiring S] (g : R →+* S) :
+def compHom.toLinearMap {R S : Type*} [Semiring R] [Semiring S] (g : R →+* S) :
letI := compHom S g; R →ₗ[R] S :=
letI := compHom S g
{ toFun := (g : R → S)
@@ -682,14 +682,14 @@ theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f
rfl
#align is_linear_map.mk'_apply IsLinearMap.mk'_apply
-theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Module R M] (c : R) :
+theorem isLinearMap_smul {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] (c : R) :
IsLinearMap R fun z : M ↦ c • z := by
refine' IsLinearMap.mk (smul_add c) _
intro _ _
simp only [smul_smul, mul_comm]
#align is_linear_map.is_linear_map_smul IsLinearMap.isLinearMap_smul
-theorem isLinearMap_smul' {R M : Type _} [Semiring R] [AddCommMonoid M] [Module R M] (a : M) :
+theorem isLinearMap_smul' {R M : Type*} [Semiring R] [AddCommMonoid M] [Module R M] (a : M) :
IsLinearMap R fun c : R ↦ c • a :=
IsLinearMap.mk (fun x y ↦ add_smul x y a) fun x y ↦ mul_smul x y a
#align is_linear_map.is_linear_map_smul' IsLinearMap.isLinearMap_smul'
@@ -1150,7 +1150,7 @@ instance apply_smulCommClass' : SMulCommClass (Module.End R M) R M
where smul_comm := LinearMap.map_smul
#align linear_map.apply_smul_comm_class' LinearMap.apply_smulCommClass'
-instance apply_isScalarTower {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Module R M] :
+instance apply_isScalarTower {R M : Type*} [CommSemiring R] [AddCommMonoid M] [Module R M] :
IsScalarTower R (Module.End R M) M :=
⟨fun _ _ _ ↦ rfl⟩
#align linear_map.apply_is_scalar_tower LinearMap.apply_isScalarTower
Per https://github.com/leanprover/lean4/issues/2343, we are going to need to change the automatic generation of instance names, as they become too long.
This PR ensures that everywhere in Mathlib that refers to an instance by name, that name is given explicitly, rather than being automatically generated.
There are four exceptions, which are now commented, with links to https://github.com/leanprover/lean4/issues/2343.
This was implemented by running Mathlib against a modified Lean that appended _ᾰ
to all automatically generated names, and fixing everything.
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -210,7 +210,7 @@ instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M
#noalign LinearMap.has_coe_to_fun
-- Porting note: adding this instance prevents a timeout in `ext_ring_op`
-instance {σ : R →+* S} : FunLike (M →ₛₗ[σ] M₃) M (λ _ ↦ M₃) :=
+instance instFunLike {σ : R →+* S} : FunLike (M →ₛₗ[σ] M₃) M (λ _ ↦ M₃) :=
{ AddHomClass.toFunLike with }
/-- The `DistribMulActionHom` underlying a `LinearMap`. -/
Note that the module instance was already generalized; we were just missing the fact that when combined with the existing ring instance, the result was an algebra.
This also moves some lemmas about IsUnit (_ : Module.End R M)
to an earlier file as they are nothing to do with Algebra
.
@@ -1102,6 +1102,18 @@ instance _root_.Module.End.smulCommClass' [SMul S R] [IsScalarTower S R M] :
SMulCommClass.symm _ _ _
#align module.End.smul_comm_class' Module.End.smulCommClass'
+theorem _root_.Module.End_isUnit_apply_inv_apply_of_isUnit
+ {f : Module.End R M} (h : IsUnit f) (x : M) :
+ f (h.unit.inv x) = x :=
+ show (f * h.unit.inv) x = x by simp
+#align module.End_is_unit_apply_inv_apply_of_is_unit Module.End_isUnit_apply_inv_apply_of_isUnit
+
+theorem _root_.Module.End_isUnit_inv_apply_apply_of_isUnit
+ {f : Module.End R M} (h : IsUnit f) (x : M) :
+ h.unit.inv (f x) = x :=
+ (by simp : (h.unit.inv * f) x = x)
+#align module.End_is_unit_inv_apply_apply_of_is_unit Module.End_isUnit_inv_apply_apply_of_isUnit
+
end
/-! ### Action by a module endomorphism. -/
@@ -27,7 +27,7 @@ In this file we define
We then provide `LinearMap` with the following instances:
-* `LinearMap.addCommMonoid` and `LinearMap.AddCommGroup`: the elementwise addition structures
+* `LinearMap.addCommMonoid` and `LinearMap.addCommGroup`: the elementwise addition structures
corresponding to addition in the codomain
* `LinearMap.distribMulAction` and `LinearMap.module`: the elementwise scalar action structures
corresponding to applying the action in the codomain.
@@ -232,8 +232,7 @@ theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
/-- Copy of a `LinearMap` with a new `toFun` equal to the old one. Useful to fix definitional
equalities. -/
-protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : M →ₛₗ[σ] M₃
- where
+protected def copy (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : M →ₛₗ[σ] M₃ where
toFun := f'
map_add' := h.symm ▸ f.map_add'
map_smul' := h.symm ▸ f.map_smul'
@@ -447,7 +446,7 @@ See also `LinearMap.map_smul_of_tower`. -/
map_smul' := fₗ.map_smul_of_tower
#align linear_map.restrict_scalars LinearMap.restrictScalars
--- porting note: generalized from `Algebra` to `Compatible SMul`
+-- porting note: generalized from `Algebra` to `CompatibleSMul`
instance coeIsScalarTower : CoeHTCT (M →ₗ[S] M₂) (M →ₗ[R] M₂) :=
⟨restrictScalars R⟩
#align linear_map.coe_is_scalar_tower LinearMap.coeIsScalarTower
@@ -528,7 +527,6 @@ def comp : M₁ →ₛₗ[σ₁₃] M₃ where
map_smul' r x := by simp only [Function.comp_apply, map_smulₛₗ, RingHomCompTriple.comp_apply]
#align linear_map.comp LinearMap.comp
--- mathport name: «expr ∘ₗ »
set_option quotPrecheck false in -- Porting note: error message suggested to do this
/-- `∘ₗ` is notation for composition of two linear (not semilinear!) maps into a linear map.
This is useful when Lean is struggling to infer the `RingHomCompTriple` instance. -/
@@ -625,10 +623,10 @@ namespace Module
@[simps]
def compHom.toLinearMap {R S : Type _} [Semiring R] [Semiring S] (g : R →+* S) :
letI := compHom S g; R →ₗ[R] S :=
-letI := compHom S g
-{ toFun := (g : R → S)
- map_add' := g.map_add
- map_smul' := g.map_mul }
+ letI := compHom S g
+ { toFun := (g : R → S)
+ map_add' := g.map_add
+ map_smul' := g.map_mul }
#align module.comp_hom.to_linear_map Module.compHom.toLinearMap
#align module.comp_hom.to_linear_map_apply Module.compHom.toLinearMap_apply
@@ -673,8 +671,7 @@ variable [Semiring R] [AddCommMonoid M] [AddCommMonoid M₂]
variable [Module R M] [Module R M₂]
/-- Convert an `IsLinearMap` predicate to a `LinearMap` -/
-def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂
- where
+def mk' (f : M → M₂) (H : IsLinearMap R f) : M →ₗ[R] M₂ where
toFun := f
map_add' := H.1
map_smul' := H.2
@@ -821,11 +818,12 @@ instance [SMulCommClass S T M₂] : SMulCommClass S T (M →ₛₗ[σ₁₂] M
-- example application of this instance: if S -> T -> R are homomorphisms of commutative rings and
-- M and M₂ are R-modules then the S-module and T-module structures on Hom_R(M,M₂) are compatible.
-instance [SMul S T] [IsScalarTower S T M₂] : IsScalarTower S T (M →ₛₗ[σ₁₂] M₂)
- where smul_assoc _ _ _ := ext fun _ ↦ smul_assoc _ _ _
+instance [SMul S T] [IsScalarTower S T M₂] : IsScalarTower S T (M →ₛₗ[σ₁₂] M₂) where
+ smul_assoc _ _ _ := ext fun _ ↦ smul_assoc _ _ _
instance [DistribMulAction Sᵐᵒᵖ M₂] [SMulCommClass R₂ Sᵐᵒᵖ M₂] [IsCentralScalar S M₂] :
- IsCentralScalar S (M →ₛₗ[σ₁₂] M₂) where op_smul_eq_smul _ _ := ext fun _ ↦ op_smul_eq_smul _ _
+ IsCentralScalar S (M →ₛₗ[σ₁₂] M₂) where
+ op_smul_eq_smul _ _ := ext fun _ ↦ op_smul_eq_smul _ _
end SMul
@@ -985,8 +983,7 @@ section Module
variable [Semiring S] [Module S M₂] [SMulCommClass R₂ S M₂]
-instance module : Module S (M →ₛₗ[σ₁₂] M₂)
- where
+instance module : Module S (M →ₛₗ[σ₁₂] M₂) where
add_smul _ _ _ := ext fun _ ↦ add_smul _ _ _
zero_smul _ := ext fun _ ↦ zero_smul _ _
@@ -1113,8 +1110,7 @@ end
/-- The tautological action by `Module.End R M` (aka `M →ₗ[R] M`) on `M`.
This generalizes `Function.End.applyMulAction`. -/
-instance applyModule : Module (Module.End R M) M
- where
+instance applyModule : Module (Module.End R M) M where
smul := (· <| ·)
smul_zero := LinearMap.map_zero
smul_add := LinearMap.map_add
@@ -1175,8 +1171,7 @@ def toLinearMap (s : S) : M →ₗ[R] M where
This is a stronger version of `DistribMulAction.toAddMonoidEnd`. -/
@[simps]
-def toModuleEnd : S →* Module.End R M
- where
+def toModuleEnd : S →* Module.End R M where
toFun := toLinearMap R M
map_one' := LinearMap.ext <| one_smul _
map_mul' _ _ := LinearMap.ext <| mul_smul _ _
@@ -1196,9 +1191,7 @@ variable [Semiring S] [Module S M] [SMulCommClass S R M]
This is a stronger version of `DistribMulAction.toModuleEnd`. -/
@[simps]
def toModuleEnd : S →+* Module.End R M :=
- {
- DistribMulAction.toModuleEnd R
- M with
+ { DistribMulAction.toModuleEnd R M with
toFun := DistribMulAction.toLinearMap R M
map_zero' := LinearMap.ext <| zero_smul S
map_add' := fun _ _ ↦ LinearMap.ext <| add_smul _ _ }
@@ -1040,8 +1040,7 @@ theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
#align linear_map.coe_mul LinearMap.coe_mul
-instance _root_.Module.End.monoid : Monoid (Module.End R M)
- where
+instance _root_.Module.End.monoid : Monoid (Module.End R M) where
mul := (· * ·)
one := (1 : M →ₗ[R] M)
mul_assoc f g h := LinearMap.ext fun x ↦ rfl
Lean makes it Type
otherwise. Why does this happen? Am I missing something?
@@ -399,7 +399,7 @@ we can also add an instance for `AddCommGroup.intModule`, allowing `z •` to be
`R` does not support negation.
-/
class CompatibleSMul (R S : Type _) [Semiring S] [SMul R M] [Module S M] [SMul R M₂]
- [Module S M₂] where
+ [Module S M₂] : Prop where
/-- Scalar multiplication by `R` of `M` can be moved through linear maps. -/
map_smul : ∀ (fₗ : M →ₗ[S] M₂) (c : R) (x : M), fₗ (c • x) = c • fₗ x
#align linear_map.compatible_smul LinearMap.CompatibleSMul
@@ -3,11 +3,6 @@ Copyright (c) 2020 Anne Baanen. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne Baanen,
Frédéric Dupuis, Heather Macbeth
-
-! This file was ported from Lean 3 source module algebra.module.linear_map
-! leanprover-community/mathlib commit cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Algebra.Hom.GroupAction
import Mathlib.Algebra.Module.Pi
@@ -15,6 +10,8 @@ import Mathlib.Algebra.Star.Basic
import Mathlib.Data.Set.Pointwise.SMul
import Mathlib.Algebra.Ring.CompTypeclasses
+#align_import algebra.module.linear_map from "leanprover-community/mathlib"@"cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f"
+
/-!
# (Semi)linear maps
This is the second half of the changes originally in #5699, removing all occurrences of ;
after a space and implementing a linter rule to enforce it.
In most cases this 2-character substring has a space after it, so the following command was run first:
find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;
The remaining cases were few enough in number that they were done manually.
@@ -579,7 +579,7 @@ def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [Rin
dsimp [LeftInverse, Function.RightInverse] at h₁ h₂
exact
{ toFun := g
- map_add' := fun x y ↦ by rw [← h₁ (g (x + y)), ← h₁ (g x + g y)] ; simp [h₂]
+ map_add' := fun x y ↦ by rw [← h₁ (g (x + y)), ← h₁ (g x + g y)]; simp [h₂]
map_smul' := fun a b ↦ by
dsimp only
rw [← h₁ (g (a • b)), ← h₁ (σ' a • g b)]
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with ·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -373,8 +373,7 @@ theorem _root_.preimage_smul_setₛₗ [SemilinearMapClass F σ M M₃] {c : R}
apply Set.Subset.antisymm
· rintro x ⟨y, ys, hy⟩
refine' ⟨(hc.unit.inv : R) • x, _, _⟩
- ·
- simp only [← hy, smul_smul, Set.mem_preimage, Units.inv_eq_val_inv, map_smulₛₗ h, ← map_mul,
+ · simp only [← hy, smul_smul, Set.mem_preimage, Units.inv_eq_val_inv, map_smulₛₗ h, ← map_mul,
IsUnit.val_inv_mul, one_smul, map_one, ys]
· simp only [smul_smul, IsUnit.mul_val_inv, one_smul, Units.inv_eq_val_inv]
· rintro x ⟨y, hy, rfl⟩
@@ -738,7 +738,7 @@ abbrev Module.End (R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] [Modu
M →ₗ[R] M
#align module.End Module.End
-/-- Reinterpret an additive homomorphism as a `ℕ`-linear map. -/
+/-- Reinterpret an additive homomorphism as an `ℕ`-linear map. -/
def AddMonoidHom.toNatLinearMap [AddCommMonoid M] [AddCommMonoid M₂] (f : M →+ M₂) : M →ₗ[ℕ] M₂
where
toFun := f
@@ -398,7 +398,7 @@ end Pointwise
variable (M M₂)
/-- A typeclass for `SMul` structures which can be moved through a `LinearMap`.
-This typeclass is generated automatically from a `IsScalarTower` instance, but exists so that
+This typeclass is generated automatically from an `IsScalarTower` instance, but exists so that
we can also add an instance for `AddCommGroup.intModule`, allowing `z •` to be moved even if
`R` does not support negation.
-/
@@ -989,7 +989,7 @@ section Module
variable [Semiring S] [Module S M₂] [SMulCommClass R₂ S M₂]
-instance : Module S (M →ₛₗ[σ₁₂] M₂)
+instance module : Module S (M →ₛₗ[σ₁₂] M₂)
where
add_smul _ _ _ := ext fun _ ↦ add_smul _ _ _
zero_smul _ := ext fun _ ↦ zero_smul _ _
fix-comments.py
on all files.@@ -98,7 +98,7 @@ structure LinearMap {R : Type _} {S : Type _} [Semiring R] [Semiring S] (σ : R
map_smul' : ∀ (r : R) (x : M), toFun (r • x) = σ r • toFun x
#align linear_map LinearMap
-/-- The `add_hom` underlying a `LinearMap`. -/
+/-- The `AddHom` underlying a `LinearMap`. -/
add_decl_doc LinearMap.toAddHom
#align linear_map.to_add_hom LinearMap.toAddHom
@@ -141,7 +141,7 @@ attribute [simp] map_smulₛₗ
/-- `LinearMapClass F R M M₂` asserts `F` is a type of bundled `R`-linear maps `M → M₂`.
-This is an abbreviation for `semilinear_map_class F (RingHom.id R) M M₂`.
+This is an abbreviation for `SemilinearMapClass F (RingHom.id R) M M₂`.
-/
abbrev LinearMapClass (F : Type _) (R M M₂ : outParam (Type _)) [Semiring R] [AddCommMonoid M]
[AddCommMonoid M₂] [Module R M] [Module R M₂] :=
@@ -397,7 +397,7 @@ end Pointwise
variable (M M₂)
-/-- A typeclass for `has_smul` structures which can be moved through a `LinearMap`.
+/-- A typeclass for `SMul` structures which can be moved through a `LinearMap`.
This typeclass is generated automatically from a `IsScalarTower` instance, but exists so that
we can also add an instance for `AddCommGroup.intModule`, allowing `z •` to be moved even if
`R` does not support negation.
@@ -625,7 +625,7 @@ end LinearMap
namespace Module
-/-- `g : R →+* S` is `R`-linear when the module structure on `S` is `module.comp_hom S g` . -/
+/-- `g : R →+* S` is `R`-linear when the module structure on `S` is `Module.compHom S g` . -/
@[simps]
def compHom.toLinearMap {R S : Type _} [Semiring R] [Semiring S] (g : R →+* S) :
letI := compHom S g; R →ₗ[R] S :=
@@ -1115,7 +1115,7 @@ end
/-! ### Action by a module endomorphism. -/
-/-- The tautological action by `module.End R M` (aka `M →ₗ[R] M`) on `M`.
+/-- The tautological action by `Module.End R M` (aka `M →ₗ[R] M`) on `M`.
This generalizes `Function.End.applyMulAction`. -/
instance applyModule : Module (Module.End R M) M
@@ -58,12 +58,8 @@ linear map
-/
--- Porting note: `assert_not_exists` is not defined yet
-/-
assert_not_exists Submonoid
-
-assert_not_exists finset
--/
+assert_not_exists Finset
open Function
@@ -201,7 +201,7 @@ variable [Module R M] [Module R M₂] [Module S M₃]
variable {σ : R →+* S}
-instance : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
+instance semilinearMapClass : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
coe f := f.toFun
coe_injective' f g h := by
cases f
@@ -211,6 +211,7 @@ instance : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
exact h
map_add f := f.map_add'
map_smulₛₗ := LinearMap.map_smul'
+#align linear_map.semilinear_map_class LinearMap.semilinearMapClass
-- Porting note: we don't port specialized `CoeFun` instances if there is `FunLike` instead
#noalign LinearMap.has_coe_to_fun
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -1077,8 +1077,6 @@ theorem _root_.Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R
rfl
#align module.End.nat_cast_apply Module.End.natCast_apply
--- *TODO*: why are you still timing out?
-set_option maxHeartbeats 300000 in
instance _root_.Module.End.ring : Ring (Module.End R N₁) :=
{ Module.End.semiring, LinearMap.addCommGroup with
mul := (· * ·)
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -578,8 +578,8 @@ variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMon
/-- If a function `g` is a left and right inverse of a linear map `f`, then `g` is linear itself. -/
def inverse [Module R M] [Module S M₂] {σ : R →+* S} {σ' : S →+* R} [RingHomInvPair σ σ']
- (f : M →ₛₗ[σ] M₂) (g : M₂ → M) (h₁ : LeftInverse g f) (h₂ : RightInverse g f) : M₂ →ₛₗ[σ'] M :=
- by
+ (f : M →ₛₗ[σ] M₂) (g : M₂ → M) (h₁ : LeftInverse g f) (h₂ : RightInverse g f) :
+ M₂ →ₛₗ[σ'] M := by
dsimp [LeftInverse, Function.RightInverse] at h₁ h₂
exact
{ toFun := g
@@ -693,8 +693,7 @@ theorem mk'_apply {f : M → M₂} (H : IsLinearMap R f) (x : M) : mk' f H x = f
#align is_linear_map.mk'_apply IsLinearMap.mk'_apply
theorem isLinearMap_smul {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Module R M] (c : R) :
- IsLinearMap R fun z : M ↦ c • z :=
- by
+ IsLinearMap R fun z : M ↦ c • z := by
refine' IsLinearMap.mk (smul_add c) _
intro _ _
simp only [smul_smul, mul_comm]
@@ -751,8 +750,7 @@ def AddMonoidHom.toNatLinearMap [AddCommMonoid M] [AddCommMonoid M₂] (f : M
#align add_monoid_hom.to_nat_linear_map AddMonoidHom.toNatLinearMap
theorem AddMonoidHom.toNatLinearMap_injective [AddCommMonoid M] [AddCommMonoid M₂] :
- Function.Injective (@AddMonoidHom.toNatLinearMap M M₂ _ _) :=
- by
+ Function.Injective (@AddMonoidHom.toNatLinearMap M M₂ _ _) := by
intro f g h
ext x
exact LinearMap.congr_fun h x
@@ -767,8 +765,7 @@ def AddMonoidHom.toIntLinearMap [AddCommGroup M] [AddCommGroup M₂] (f : M →+
#align add_monoid_hom.to_int_linear_map AddMonoidHom.toIntLinearMap
theorem AddMonoidHom.toIntLinearMap_injective [AddCommGroup M] [AddCommGroup M₂] :
- Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) :=
- by
+ Function.Injective (@AddMonoidHom.toIntLinearMap M M₂ _ _) := by
intro f g h
ext x
exact LinearMap.congr_fun h x
@@ -787,8 +784,7 @@ def AddMonoidHom.toRatLinearMap [AddCommGroup M] [Module ℚ M] [AddCommGroup M
#align add_monoid_hom.to_rat_linear_map AddMonoidHom.toRatLinearMap
theorem AddMonoidHom.toRatLinearMap_injective [AddCommGroup M] [Module ℚ M] [AddCommGroup M₂]
- [Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) :=
- by
+ [Module ℚ M₂] : Function.Injective (@AddMonoidHom.toRatLinearMap M M₂ _ _ _ _) := by
intro f g h
ext x
exact LinearMap.congr_fun h x
@@ -1179,7 +1179,7 @@ variable [Monoid S] [DistribMulAction S M] [SMulCommClass S R M]
This is a stronger version of `DistribMulAction.toAddMonoidHom`. -/
@[simps]
def toLinearMap (s : S) : M →ₗ[R] M where
- toFun := SMul.smul s
+ toFun := HSMul.hSMul s
map_add' := smul_add s
map_smul' _ _ := smul_comm _ _ _
#align distrib_mul_action.to_linear_map DistribMulAction.toLinearMap
@@ -1214,7 +1214,7 @@ def toModuleEnd : S →+* Module.End R M :=
DistribMulAction.toModuleEnd R
M with
toFun := DistribMulAction.toLinearMap R M
- map_zero' := LinearMap.ext <| zero_smul _
+ map_zero' := LinearMap.ext <| zero_smul S
map_add' := fun _ _ ↦ LinearMap.ext <| add_smul _ _ }
#align module.to_module_End Module.toModuleEnd
#align module.to_module_End_apply Module.toModuleEnd_apply
@@ -155,14 +155,13 @@ abbrev LinearMapClass (F : Type _) (R M M₂ : outParam (Type _)) [Semiring R] [
namespace SemilinearMapClass
variable (F : Type _)
-variable {_ : Semiring R} {_ : Semiring S}
-variable {_ : AddCommMonoid M} {_ : AddCommMonoid M₁} {_ : AddCommMonoid M₂} {_ : AddCommMonoid M₃}
-variable {_ : AddCommMonoid N₁} {_ : AddCommMonoid N₂} {_ : AddCommMonoid N₃}
-variable {_ : Module R M} {_ : Module R M₂} {_ : Module S M₃}
+variable [Semiring R] [Semiring S]
+variable [AddCommMonoid M] [AddCommMonoid M₁] [AddCommMonoid M₂] [AddCommMonoid M₃]
+variable [AddCommMonoid N₁] [AddCommMonoid N₂] [AddCommMonoid N₃]
+variable [Module R M] [Module R M₂] [Module S M₃]
variable {σ : R →+* S}
-- Porting note: the `dangerousInstance` linter has become smarter about `outParam`s
--- @[nolint dangerousInstance] -- `σ` is an `outParam` so it's not dangerous
instance (priority := 100) addMonoidHomClass [SemilinearMapClass F σ M M₃] :
AddMonoidHomClass F M M₃ :=
{ SemilinearMapClass.toAddHomClass with
@@ -172,10 +171,6 @@ instance (priority := 100) addMonoidHomClass [SemilinearMapClass F σ M M₃] :
rw [← zero_smul R (0 : M), map_smulₛₗ]
simp }
--- The `Semiring` should be an instance parameter but depends on outParams.
--- If Lean 4 gets better support for instance params depending on outParams,
--- we should be able to remove this nolint.
-@[nolint dangerousInstance]
instance (priority := 100) distribMulActionHomClass [LinearMapClass F R M M₂] :
DistribMulActionHomClass F R M M₂ :=
{ SemilinearMapClass.addMonoidHomClass F with
@@ -206,8 +206,7 @@ variable [Module R M] [Module R M₂] [Module S M₃]
variable {σ : R →+* S}
-instance : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃
- where
+instance : SemilinearMapClass (M →ₛₗ[σ] M₃) σ M M₃ where
coe f := f.toFun
coe_injective' f g h := by
cases f
This fix was found when working on #2850.
A proof in HasseDeriv
is fixed to deal with the change in ext
behavior, by undoing some of the changes made when porting.
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -493,7 +493,7 @@ theorem toAddMonoidHom_injective :
#align linear_map.to_add_monoid_hom_injective LinearMap.toAddMonoidHom_injective
/-- If two `σ`-linear maps from `R` are equal on `1`, then they are equal. -/
-@[ext]
+@[ext high]
theorem ext_ring {f g : R →ₛₗ[σ] M₃} (h : f 1 = g 1) : f = g :=
ext fun x ↦ by rw [← mul_one x, ← smul_eq_mul, f.map_smulₛₗ, g.map_smulₛₗ, h]
#align linear_map.ext_ring LinearMap.ext_ring
@@ -502,9 +502,7 @@ theorem ext_ring_iff {σ : R →+* R} {f g : R →ₛₗ[σ] M} : f = g ↔ f 1
⟨fun h ↦ h ▸ rfl, ext_ring⟩
#align linear_map.ext_ring_iff LinearMap.ext_ring_iff
--- *TODO*: why are you still timing out?
-set_option maxHeartbeats 300000 in
-@[ext]
+@[ext high]
theorem ext_ring_op {σ : Rᵐᵒᵖ →+* S} {f g : R →ₛₗ[σ] M₃} (h : f (1 : R) = g (1 : R)) :
f = g :=
ext fun x ↦ by
initialize_simps_projections
automatically find coercions if there is a Funlike
or SetLike
instance defined by one of the projections.SetLike
coercionsNot yet implemented (and rarely - if ever - used in mathlib3):
+
,*
,...)Co-authored-by: Johan Commelin <johan@commelin.net>
@@ -260,12 +260,6 @@ theorem copy_eq (f : M →ₛₗ[σ] M₃) (f' : M → M₃) (h : f' = ⇑f) : f
FunLike.ext' h
#align linear_map.copy_eq LinearMap.copy_eq
-/-- See Note [custom simps projection]. -/
-protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+* S) (M M₃ : Type _)
- [AddCommMonoid M] [AddCommMonoid M₃] [Module R M] [Module S M₃] (f : M →ₛₗ[σ] M₃) : M → M₃ :=
- f
-#align linear_map.simps.apply LinearMap.Simps.apply
-
initialize_simps_projections LinearMap (toFun → apply)
@[simp]
@@ -1255,7 +1255,7 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
left_inv := mul_one
right_inv := fun _ ↦ LinearMap.ext_ring_op <| mul_one _ }
#align module.module_End_self_op Module.moduleEndSelfOp
-#align module.module_End_self_op_symm_apply Module.moduleEndSelfOp_symmApply
+#align module.module_End_self_op_symm_apply Module.moduleEndSelfOp_symm_apply
#align module.module_End_self_op_apply Module.moduleEndSelfOp_apply
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
initialize_simps_projections
now by default generates all projections of all parent structures, and doesn't generate the projections to those parent structures.TwoPointed
)Internal changes:
ParsedProjectionData
to avoid the bug reported here (and to another bug where it seemed that the wrong data was inserted in ParsedProjectionData
, but it was hard to minimize because of all the crashes). If we manage to fix the bug in that Zulip thread, I'll see if I can track down the other bug in commit 97454284Co-authored-by: Johan Commelin <johan@commelin.net>
@@ -266,7 +266,7 @@ protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+*
f
#align linear_map.simps.apply LinearMap.Simps.apply
-initialize_simps_projections LinearMap (toAddHom_toFun → apply)
+initialize_simps_projections LinearMap (toFun → apply)
@[simp]
theorem coe_mk {σ : R →+* S} (f : AddHom M M₃) (h) :
@@ -557,8 +557,6 @@ infixr:80 " ∘ₗ " =>
@LinearMap.comp _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ (RingHom.id _) (RingHom.id _) (RingHom.id _)
RingHomCompTriple.ids
-include σ₁₃
-
theorem comp_apply (x : M₁) : f.comp g x = f (g x) :=
rfl
#align linear_map.comp_apply LinearMap.comp_apply
@@ -460,15 +460,19 @@ are defined by an action of `R` on `S` (formally, we have two scalar towers), th
map from `M` to `M₂` is `R`-linear.
See also `LinearMap.map_smul_of_tower`. -/
-def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂
- where
+@[coe] def restrictScalars (fₗ : M →ₗ[S] M₂) : M →ₗ[R] M₂ where
toFun := fₗ
map_add' := fₗ.map_add
map_smul' := fₗ.map_smul_of_tower
#align linear_map.restrict_scalars LinearMap.restrictScalars
-@[simp]
-theorem coe_restrictScalars (fₗ : M →ₗ[S] M₂) : ⇑(restrictScalars R fₗ) = fₗ :=
+-- porting note: generalized from `Algebra` to `Compatible SMul`
+instance coeIsScalarTower : CoeHTCT (M →ₗ[S] M₂) (M →ₗ[R] M₂) :=
+ ⟨restrictScalars R⟩
+#align linear_map.coe_is_scalar_tower LinearMap.coeIsScalarTower
+
+@[simp, norm_cast]
+theorem coe_restrictScalars (f : M →ₗ[S] M₂) : ((f : M →ₗ[R] M₂) : M → M₂) = f :=
rfl
#align linear_map.coe_restrict_scalars LinearMap.coe_restrictScalars
@@ -269,11 +269,17 @@ protected def Simps.apply {R S : Type _} [Semiring R] [Semiring S] (σ : R →+*
initialize_simps_projections LinearMap (toAddHom_toFun → apply)
@[simp]
-theorem coe_mk {σ : R →+* S} (f : M →+ M₃) (h) :
+theorem coe_mk {σ : R →+* S} (f : AddHom M M₃) (h) :
((LinearMap.mk f h : M →ₛₗ[σ] M₃) : M → M₃) = f :=
rfl
#align linear_map.coe_mk LinearMap.coe_mk
+-- Porting note: This theorem is new.
+@[simp]
+theorem coe_addHom_mk {σ : R →+* S} (f : AddHom M M₃) (h) :
+ ((LinearMap.mk f h : M →ₛₗ[σ] M₃) : AddHom M M₃) = f :=
+ rfl
+
/-- Identity map as a `LinearMap` -/
def id : M →ₗ[R] M :=
{ DistribMulActionHom.id R with toFun := _root_.id }
@@ -231,9 +231,11 @@ def toDistribMulActionHom (f : M →ₗ[R] M₂) : DistribMulActionHom R M M₂
#align linear_map.to_distrib_mul_action_hom LinearMap.toDistribMulActionHom
@[simp]
-theorem to_fun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) :=
- rfl
-#align linear_map.to_fun_eq_coe LinearMap.to_fun_eq_coe
+theorem coe_toAddHom (f : M →ₛₗ[σ] M₃) : ⇑f.toAddHom = f := rfl
+
+-- porting note: no longer a `simp`
+theorem toFun_eq_coe {f : M →ₛₗ[σ] M₃} : f.toFun = (f : M → M₃) := rfl
+#align linear_map.to_fun_eq_coe LinearMap.toFun_eq_coe
@[ext]
theorem ext {f g : M →ₛₗ[σ] M₃} (h : ∀ x, f x = g x) : f = g :=
@@ -5,7 +5,7 @@ Authors: Nathaniel Thomas, Jeremy Avigad, Johannes Hölzl, Mario Carneiro, Anne
Frédéric Dupuis, Heather Macbeth
! This file was ported from Lean 3 source module algebra.module.linear_map
-! leanprover-community/mathlib commit 9003f28797c0664a49e4179487267c494477d853
+! leanprover-community/mathlib commit cc8e88c7c8c7bc80f91f84d11adb584bf9bd658f
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -933,7 +933,7 @@ theorem comp_neg (f : M →ₛₗ[σ₁₂] N₂) (g : N₂ →ₛₗ[σ₂₃]
ext fun _ ↦ g.map_neg _
#align linear_map.comp_neg LinearMap.comp_neg
-/-- The negation of a linear map is linear. -/
+/-- The subtraction of two linear maps is linear. -/
instance : Sub (M →ₛₗ[σ₁₂] N₂) :=
⟨fun f g ↦
{ toFun := f - g
This PR is the result of a slight variant on the following "algorithm"
_
and make all uppercase letters into lowercase_
and make all uppercase letters into lowercase(original_lean3_name, OriginalLean4Name)
#align
statement just before the next empty line#align
statement to have been inserted too early)@@ -104,6 +104,7 @@ structure LinearMap {R : Type _} {S : Type _} [Semiring R] [Semiring S] (σ : R
/-- The `add_hom` underlying a `LinearMap`. -/
add_decl_doc LinearMap.toAddHom
+#align linear_map.to_add_hom LinearMap.toAddHom
-- mathport name: «expr →ₛₗ[ ] »
/-- `M →ₛₗ[σ] N` is the type of `σ`-semilinear maps from `M` to `N`. -/
@@ -518,6 +519,7 @@ def _root_.RingHom.toSemilinearMap (f : R →+* S) : R →ₛₗ[f] S :=
toFun := f
map_smul' := f.map_mul }
#align ring_hom.to_semilinear_map RingHom.toSemilinearMap
+#align ring_hom.to_semilinear_map_apply RingHom.toSemilinearMap_apply
section
@@ -639,6 +641,7 @@ letI := compHom S g
map_add' := g.map_add
map_smul' := g.map_mul }
#align module.comp_hom.to_linear_map Module.compHom.toLinearMap
+#align module.comp_hom.to_linear_map_apply Module.compHom.toLinearMap_apply
end Module
@@ -1184,6 +1187,7 @@ def toLinearMap (s : S) : M →ₗ[R] M where
map_add' := smul_add s
map_smul' _ _ := smul_comm _ _ _
#align distrib_mul_action.to_linear_map DistribMulAction.toLinearMap
+#align distrib_mul_action.to_linear_map_apply DistribMulAction.toLinearMap_apply
/-- Each element of the monoid defines a module endomorphism.
@@ -1195,6 +1199,7 @@ def toModuleEnd : S →* Module.End R M
map_one' := LinearMap.ext <| one_smul _
map_mul' _ _ := LinearMap.ext <| mul_smul _ _
#align distrib_mul_action.to_module_End DistribMulAction.toModuleEnd
+#align distrib_mul_action.to_module_End_apply DistribMulAction.toModuleEnd_apply
end DistribMulAction
@@ -1216,6 +1221,7 @@ def toModuleEnd : S →+* Module.End R M :=
map_zero' := LinearMap.ext <| zero_smul _
map_add' := fun _ _ ↦ LinearMap.ext <| add_smul _ _ }
#align module.to_module_End Module.toModuleEnd
+#align module.to_module_End_apply Module.toModuleEnd_apply
/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `Module.End R R` induced by the right
multiplication. -/
@@ -1227,6 +1233,7 @@ def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.End R R :=
left_inv := mul_one
right_inv := fun _ ↦ LinearMap.ext_ring <| one_mul _ }
#align module.module_End_self Module.moduleEndSelf
+#align module.module_End_self_apply Module.moduleEndSelf_apply
/-- The canonical (semi)ring isomorphism from `R` to `Module.End Rᵐᵒᵖ R` induced by the left
multiplication. -/
@@ -1238,6 +1245,8 @@ def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
left_inv := mul_one
right_inv := fun _ ↦ LinearMap.ext_ring_op <| mul_one _ }
#align module.module_End_self_op Module.moduleEndSelfOp
+#align module.module_End_self_op_symm_apply Module.moduleEndSelfOp_symmApply
+#align module.module_End_self_op_apply Module.moduleEndSelfOp_apply
theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
(↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
@@ -100,7 +100,7 @@ structure LinearMap {R : Type _} {S : Type _} [Semiring R] [Semiring S] (σ : R
/-- A linear map preserves scalar multiplication.
We prefer the spelling `_root_.map_smul` instead. -/
map_smul' : ∀ (r : R) (x : M), toFun (r • x) = σ r • toFun x
-#align LinearMap LinearMap
+#align linear_map LinearMap
/-- The `add_hom` underlying a `LinearMap`. -/
add_decl_doc LinearMap.toAddHom
@@ -34,7 +34,7 @@ We then provide `LinearMap` with the following instances:
corresponding to addition in the codomain
* `LinearMap.distribMulAction` and `LinearMap.module`: the elementwise scalar action structures
corresponding to applying the action in the codomain.
-* `module.End.semiring` and `module.End.ring`: the (semi)ring of endomorphisms formed by taking the
+* `Module.End.semiring` and `Module.End.ring`: the (semi)ring of endomorphisms formed by taking the
additive structure above with composition as multiplication.
## Implementation notes
@@ -738,10 +738,10 @@ end AddCommGroup
end IsLinearMap
/-- Linear endomorphisms of a module, with associated ring structure
-`module.End.semiring` and algebra structure `module.End.algebra`. -/
-abbrev Module.EndCat (R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] [Module R M] :=
+`Module.End.semiring` and algebra structure `Module.End.algebra`. -/
+abbrev Module.End (R : Type u) (M : Type v) [Semiring R] [AddCommMonoid M] [Module R M] :=
M →ₗ[R] M
-#align module.End Module.EndCat
+#align module.End Module.End
/-- Reinterpret an additive homomorphism as a `ℕ`-linear map. -/
def AddMonoidHom.toNatLinearMap [AddCommMonoid M] [AddCommMonoid M₂] (f : M →+ M₂) : M →ₗ[ℕ] M₂
@@ -1020,49 +1020,49 @@ section Endomorphisms
variable [Semiring R] [AddCommMonoid M] [AddCommGroup N₁] [Module R M] [Module R N₁]
-instance : One (Module.EndCat R M) :=
+instance : One (Module.End R M) :=
⟨LinearMap.id⟩
-instance : Mul (Module.EndCat R M) :=
+instance : Mul (Module.End R M) :=
⟨LinearMap.comp⟩
-theorem one_eq_id : (1 : Module.EndCat R M) = id :=
+theorem one_eq_id : (1 : Module.End R M) = id :=
rfl
#align linear_map.one_eq_id LinearMap.one_eq_id
-theorem mul_eq_comp (f g : Module.EndCat R M) : f * g = f.comp g :=
+theorem mul_eq_comp (f g : Module.End R M) : f * g = f.comp g :=
rfl
#align linear_map.mul_eq_comp LinearMap.mul_eq_comp
@[simp]
-theorem one_apply (x : M) : (1 : Module.EndCat R M) x = x :=
+theorem one_apply (x : M) : (1 : Module.End R M) x = x :=
rfl
#align linear_map.one_apply LinearMap.one_apply
@[simp]
-theorem mul_apply (f g : Module.EndCat R M) (x : M) : (f * g) x = f (g x) :=
+theorem mul_apply (f g : Module.End R M) (x : M) : (f * g) x = f (g x) :=
rfl
#align linear_map.mul_apply LinearMap.mul_apply
-theorem coe_one : ⇑(1 : Module.EndCat R M) = _root_.id :=
+theorem coe_one : ⇑(1 : Module.End R M) = _root_.id :=
rfl
#align linear_map.coe_one LinearMap.coe_one
-theorem coe_mul (f g : Module.EndCat R M) : ⇑(f * g) = f ∘ g :=
+theorem coe_mul (f g : Module.End R M) : ⇑(f * g) = f ∘ g :=
rfl
#align linear_map.coe_mul LinearMap.coe_mul
-instance _root_.Module.EndCat.monoid : Monoid (Module.EndCat R M)
+instance _root_.Module.End.monoid : Monoid (Module.End R M)
where
mul := (· * ·)
one := (1 : M →ₗ[R] M)
mul_assoc f g h := LinearMap.ext fun x ↦ rfl
mul_one := comp_id
one_mul := id_comp
-#align module.End.monoid Module.EndCat.monoid
+#align module.End.monoid Module.End.monoid
-instance _root_.Module.EndCat.semiring : Semiring (Module.EndCat R M) :=
- { AddMonoidWithOne.unary, Module.EndCat.monoid, LinearMap.addCommMonoid with
+instance _root_.Module.End.semiring : Semiring (Module.End R M) :=
+ { AddMonoidWithOne.unary, Module.End.monoid, LinearMap.addCommMonoid with
mul := (· * ·)
one := (1 : M →ₗ[R] M)
zero := (0 : M →ₗ[R] M)
@@ -1074,18 +1074,18 @@ instance _root_.Module.EndCat.semiring : Semiring (Module.EndCat R M) :=
natCast := fun n ↦ n • (1 : M →ₗ[R] M)
natCast_zero := zero_smul ℕ (1 : M →ₗ[R] M)
natCast_succ := fun n ↦ (AddMonoid.nsmul_succ n (1 : M →ₗ[R] M)).trans (add_comm _ _) }
-#align module.End.semiring Module.EndCat.semiring
+#align module.End.semiring Module.End.semiring
-/-- See also `module.End.nat_cast_def`. -/
+/-- See also `Module.End.natCast_def`. -/
@[simp]
-theorem _root_.Module.EndCat.natCast_apply (n : ℕ) (m : M) : (↑n : Module.EndCat R M) m = n • m :=
+theorem _root_.Module.End.natCast_apply (n : ℕ) (m : M) : (↑n : Module.End R M) m = n • m :=
rfl
-#align module.End.nat_cast_apply Module.EndCat.natCast_apply
+#align module.End.nat_cast_apply Module.End.natCast_apply
-- *TODO*: why are you still timing out?
set_option maxHeartbeats 300000 in
-instance _root_.Module.EndCat.ring : Ring (Module.EndCat R N₁) :=
- { Module.EndCat.semiring, LinearMap.addCommGroup with
+instance _root_.Module.End.ring : Ring (Module.End R N₁) :=
+ { Module.End.semiring, LinearMap.addCommGroup with
mul := (· * ·)
one := (1 : N₁ →ₗ[R] N₁)
zero := (0 : N₁ →ₗ[R] N₁)
@@ -1093,32 +1093,32 @@ instance _root_.Module.EndCat.ring : Ring (Module.EndCat R N₁) :=
intCast := fun z ↦ z • (1 : N₁ →ₗ[R] N₁)
intCast_ofNat := ofNat_zsmul _
intCast_negSucc := negSucc_zsmul _ }
-#align module.End.ring Module.EndCat.ring
+#align module.End.ring Module.End.ring
-/-- See also `module.End.int_cast_def`. -/
+/-- See also `Module.End.intCast_def`. -/
@[simp]
-theorem _root_.Module.EndCat.intCast_apply (z : ℤ) (m : N₁) : (z : Module.EndCat R N₁) m = z • m :=
+theorem _root_.Module.End.intCast_apply (z : ℤ) (m : N₁) : (z : Module.End R N₁) m = z • m :=
rfl
-#align module.End.int_cast_apply Module.EndCat.intCast_apply
+#align module.End.int_cast_apply Module.End.intCast_apply
section
variable [Monoid S] [DistribMulAction S M] [SMulCommClass R S M]
-instance _root_.Module.EndCat.isScalarTower :
- IsScalarTower S (Module.EndCat R M) (Module.EndCat R M) :=
+instance _root_.Module.End.isScalarTower :
+ IsScalarTower S (Module.End R M) (Module.End R M) :=
⟨smul_comp⟩
-#align module.End.is_scalar_tower Module.EndCat.isScalarTower
+#align module.End.is_scalar_tower Module.End.isScalarTower
-instance _root_.Module.EndCat.smulCommClass [SMul S R] [IsScalarTower S R M] :
- SMulCommClass S (Module.EndCat R M) (Module.EndCat R M) :=
+instance _root_.Module.End.smulCommClass [SMul S R] [IsScalarTower S R M] :
+ SMulCommClass S (Module.End R M) (Module.End R M) :=
⟨fun s _ _ ↦ (comp_smul _ s _).symm⟩
-#align module.End.smul_comm_class Module.EndCat.smulCommClass
+#align module.End.smul_comm_class Module.End.smulCommClass
-instance _root_.Module.EndCat.smulCommClass' [SMul S R] [IsScalarTower S R M] :
- SMulCommClass (Module.EndCat R M) S (Module.EndCat R M) :=
+instance _root_.Module.End.smulCommClass' [SMul S R] [IsScalarTower S R M] :
+ SMulCommClass (Module.End R M) S (Module.End R M) :=
SMulCommClass.symm _ _ _
-#align module.End.smul_comm_class' Module.EndCat.smulCommClass'
+#align module.End.smul_comm_class' Module.End.smulCommClass'
end
@@ -1127,8 +1127,8 @@ end
/-- The tautological action by `module.End R M` (aka `M →ₗ[R] M`) on `M`.
-This generalizes `function.End.apply_mul_action`. -/
-instance applyModule : Module (Module.EndCat R M) M
+This generalizes `Function.End.applyMulAction`. -/
+instance applyModule : Module (Module.End R M) M
where
smul := (· <| ·)
smul_zero := LinearMap.map_zero
@@ -1140,25 +1140,25 @@ instance applyModule : Module (Module.EndCat R M) M
#align linear_map.apply_module LinearMap.applyModule
@[simp]
-protected theorem smul_def (f : Module.EndCat R M) (a : M) : f • a = f a :=
+protected theorem smul_def (f : Module.End R M) (a : M) : f • a = f a :=
rfl
#align linear_map.smul_def LinearMap.smul_def
-/-- `linear_map.apply_module` is faithful. -/
-instance apply_faithfulSMul : FaithfulSMul (Module.EndCat R M) M :=
+/-- `LinearMap.applyModule` is faithful. -/
+instance apply_faithfulSMul : FaithfulSMul (Module.End R M) M :=
⟨LinearMap.ext⟩
#align linear_map.apply_has_faithful_smul LinearMap.apply_faithfulSMul
-instance apply_smulCommClass : SMulCommClass R (Module.EndCat R M) M
+instance apply_smulCommClass : SMulCommClass R (Module.End R M) M
where smul_comm r e m := (e.map_smul r m).symm
#align linear_map.apply_smul_comm_class LinearMap.apply_smulCommClass
-instance apply_smulCommClass' : SMulCommClass (Module.EndCat R M) R M
+instance apply_smulCommClass' : SMulCommClass (Module.End R M) R M
where smul_comm := LinearMap.map_smul
#align linear_map.apply_smul_comm_class' LinearMap.apply_smulCommClass'
instance apply_isScalarTower {R M : Type _} [CommSemiring R] [AddCommMonoid M] [Module R M] :
- IsScalarTower R (Module.EndCat R M) M :=
+ IsScalarTower R (Module.End R M) M :=
⟨fun _ _ _ ↦ rfl⟩
#align linear_map.apply_is_scalar_tower LinearMap.apply_isScalarTower
@@ -1177,7 +1177,7 @@ variable [Monoid S] [DistribMulAction S M] [SMulCommClass S R M]
/-- Each element of the monoid defines a linear map.
-This is a stronger version of `DistribMulAction.to_add_monoid_hom`. -/
+This is a stronger version of `DistribMulAction.toAddMonoidHom`. -/
@[simps]
def toLinearMap (s : S) : M →ₗ[R] M where
toFun := SMul.smul s
@@ -1187,9 +1187,9 @@ def toLinearMap (s : S) : M →ₗ[R] M where
/-- Each element of the monoid defines a module endomorphism.
-This is a stronger version of `DistribMulAction.to_add_monoid_End`. -/
+This is a stronger version of `DistribMulAction.toAddMonoidEnd`. -/
@[simps]
-def toModuleEnd : S →* Module.EndCat R M
+def toModuleEnd : S →* Module.End R M
where
toFun := toLinearMap R M
map_one' := LinearMap.ext <| one_smul _
@@ -1206,9 +1206,9 @@ variable [Semiring S] [Module S M] [SMulCommClass S R M]
/-- Each element of the semiring defines a module endomorphism.
-This is a stronger version of `DistribMulAction.to_module_End`. -/
+This is a stronger version of `DistribMulAction.toModuleEnd`. -/
@[simps]
-def toModuleEnd : S →+* Module.EndCat R M :=
+def toModuleEnd : S →+* Module.End R M :=
{
DistribMulAction.toModuleEnd R
M with
@@ -1217,10 +1217,10 @@ def toModuleEnd : S →+* Module.EndCat R M :=
map_add' := fun _ _ ↦ LinearMap.ext <| add_smul _ _ }
#align module.to_module_End Module.toModuleEnd
-/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `module.End R R` induced by the right
+/-- The canonical (semi)ring isomorphism from `Rᵐᵒᵖ` to `Module.End R R` induced by the right
multiplication. -/
@[simps]
-def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.EndCat R R :=
+def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.End R R :=
{ Module.toModuleEnd R R with
toFun := DistribMulAction.toLinearMap R R
invFun := fun f ↦ MulOpposite.op (f 1)
@@ -1228,10 +1228,10 @@ def moduleEndSelf : Rᵐᵒᵖ ≃+* Module.EndCat R R :=
right_inv := fun _ ↦ LinearMap.ext_ring <| one_mul _ }
#align module.module_End_self Module.moduleEndSelf
-/-- The canonical (semi)ring isomorphism from `R` to `module.End Rᵐᵒᵖ R` induced by the left
+/-- The canonical (semi)ring isomorphism from `R` to `Module.End Rᵐᵒᵖ R` induced by the left
multiplication. -/
@[simps]
-def moduleEndSelfOp : R ≃+* Module.EndCat Rᵐᵒᵖ R :=
+def moduleEndSelfOp : R ≃+* Module.End Rᵐᵒᵖ R :=
{ Module.toModuleEnd _ _ with
toFun := DistribMulAction.toLinearMap _ _
invFun := fun f ↦ f 1
@@ -1239,14 +1239,14 @@ def moduleEndSelfOp : R ≃+* Module.EndCat Rᵐᵒᵖ R :=
right_inv := fun _ ↦ LinearMap.ext_ring_op <| mul_one _ }
#align module.module_End_self_op Module.moduleEndSelfOp
-theorem EndCat.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
- (↑n : Module.EndCat R N₁) = Module.toModuleEnd R N₁ n :=
+theorem End.natCast_def (n : ℕ) [AddCommMonoid N₁] [Module R N₁] :
+ (↑n : Module.End R N₁) = Module.toModuleEnd R N₁ n :=
rfl
-#align module.End.nat_cast_def Module.EndCat.natCast_def
+#align module.End.nat_cast_def Module.End.natCast_def
-theorem EndCat.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
- (z : Module.EndCat R N₁) = Module.toModuleEnd R N₁ z :=
+theorem End.intCast_def (z : ℤ) [AddCommGroup N₁] [Module R N₁] :
+ (z : Module.End R N₁) = Module.toModuleEnd R N₁ z :=
rfl
-#align module.End.int_cast_def Module.EndCat.intCast_def
+#align module.End.int_cast_def Module.End.intCast_def
end Module
Zulip thread: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/algebra.2Emodule.2Elinear_map.20mathlib4.231587
Co-authored-by: Vierkantor <vierkantor@vierkantor.com> Co-authored-by: qawbecrdtey <qawbecrdtey@naver.com> Co-authored-by: Anne Baanen <Vierkantor@users.noreply.github.com>
The unported dependencies are